我正在努力制作一个向我订阅的用户发送电子邮件的代码。我想根据用户默认语言传递正文,任何人都可以帮助我吗?
我的代码:
if($newsletter->save())
{
//get users to send to
$users = User::where('newsletter', '=', '1')->Where('activated', '=', '1')->get();
//Send to all users subscribed
foreach($users as $user)
{
//set info according to user default lang
if($user->default_lang == 'pt')
{
$body = $newsletter_pt;
$subject = Input::get('subject_PT');
}
elseif($user->default_lang == 'de')
{
$body = $newsletter_de;
Input::get('subject_DE');
}
$data = array(
'body' => $body,
'subject' => $subject
);
$from_name = Input::get('from_name');
$from_email = Input::get('from_email');
//QUEUE The Newsletters to send
Mail::queue('admin.newsletters.template1', $data, function($message) use ($user, $subject, $from_name, $from_email)
{
$message->from($from_email, $from_name);
$message->bcc($user->email, $user->name);
$message->subject($subject);
});
} //end foreach
return Redirect::To('admin/newsletters')->with('message', array("1" => "Newsletter enviada com sucesso !"));
}
非常感谢;)
答案 0 :(得分:0)
在致电$data
之前,请确保Mail::queue()
数组包含您希望传递到视图中的信息。它应该将$body
和$subject
变量传递给您的视图。
您也可以尝试使用Mail::send()
代替Mail::queue()
,看看它是否有所作为(如果您没有使用排队系统)。有时,queue()
方法在序列化Eloquent模型时可能会绊倒,因此如果$newsletter_pt
或$newsletter_de
是Eloquent模型,则它们可能无法完整地显示在视图中。