[英]Laravel - How to send email to all users
我正在努力編寫將電子郵件發送給我訂閱的用戶的代碼。 我想根據用戶的默認語言通過正文查看,有人可以幫助我嗎?
我的代碼:
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 !"));
}
非常感謝 ;)
在調用Mail::queue()
之前,請確保$data
數組具有您希望傳遞給視圖的信息。 它應該將$body
和$subject
變量都傳遞給您的視圖。
您也可以嘗試使用Mail::send()
而不是Mail::queue()
查看它是否有所不同(如果您未使用排隊系統)。 有時,在序列化Eloquent模型時, queue()
方法可能會跳閘,因此,如果$newsletter_pt
或$newsletter_de
是Eloquent模型,則它們可能無法完整地保存到視圖中。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.