2017-12-27 438 views
4

我想發送多封電子郵件。我使用下面的代碼來發送多封電子郵件: -如何在laravel5.5中發送多封電子郵件

$emails = ['[email protected]', '[email protected]']; 

    Mail::send('emails.email-marketing-template', [], function($message) use ($emails) 
    {  
     $message->to($emails)->subject('This is test e-mail');  
    }); 
    var_dump(Mail:: failures()); 
    exit; 

如果我把它發送給單個用戶,它是工作,但不適合多個用戶。我應該如何發送電子郵件給多個用戶?

+0

份額,其代碼適用於單一的郵件? – OIIO

+0

[Laravel Mail :: send()發送到多個或bcc地址的可能重複](https://stackoverflow.com/questions/26584904/laravel-mailsend-sending-to-multiple-to-or-bcc-addresses ) – C2486

回答

5

the 5.5 docs

的到方法接受一個電子郵件地址,用戶實例,或用戶的集合。如果您傳遞一個對象或一組對象,則在設置電子郵件收件人時,郵件程序將自動使用它們的emailname屬性,因此請確保這些屬性在您的對象上可用。

所以,你可以這樣做:

$users = User::get(); 
Mail::to($users)->send(new OrderShipped($order)); 

或者你也可以傳遞一個數組nameemail鍵:

$users = [ 
    ['name' => 'John', 'email' => '[email protected]'], 
    ['name' => 'Jane', 'email' => '[email protected]'], 
    ['name' => 'Max', 'email' => '[email protected]'], 
]; 
0

我更喜歡通過發送隊列從Laravel和Symfony的電子郵件/閥芯。閱讀更多關於queueing emails in Laravel

由於支持請求的主進程沒有等待郵件發送進程,隊列郵件比發送郵件要好。

如果使用Mail:queue您可以發送的電子郵件循環向多位收信人

相關問題