Laravel 5.3将邮件发送到多个电子邮件地址

时间:2016-11-18 13:18:58

标签: php laravel email swiftmailer laravel-5.3

我正在使用Laravel 5.3并尝试将简报邮件发送到特定的邮件地址。

目前我执行以下操作:

$newsletterMailAdresses = Newsletter::where('user_id', $userID)->pluck('mailAdress');

这将返回一系列电子邮件地址,电子邮件将被发送到该地址。

然后我(通常)用来发送邮件的是:

Mail::to("someMailAdress")->send(new newsletterMail($newsletterText));

我想过将这个数组传递到to函数中,但我确信它不会起作用....你可以做的是,每个邮件地址都是foreach并发送邮件,但这是应该如何做或者有更好的方法吗?

PS:我知道that线程,但它关于Laravel 4,所以有很多事情发生了变化。

4 个答案:

答案 0 :(得分:2)

我认为它应该可以工作,当你传递一个数组。检查参考:

https://laravel.com/api/5.3/Illuminate/Mail/Message.html#method_to

第一个参数可以是数组。试试吧。

答案 1 :(得分:0)

我认为它应该可行,但您也可以尝试这样做:

     Mail::raw('No Body', function($message) use ($emails)
      {    
        foreach ($emails as $email)
         {
           $message->to($emails); 
         }   
      });

我在我的应用程序中使用这样,它工作正常!

也许您也可以尝试发送一封电子邮件并将其恢复正常,然后您可以尝试使用电子邮件数组发送电子邮件。

答案 2 :(得分:0)

发送邮件中的Laravel 5.4 documentation

  

方法接受电子邮件地址,用户实例或用户集合。如果传递对象或对象集合,邮件程序将在设置电子邮件收件人时自动使用其电子邮件和名称属性,因此请确保这些属性在对象上可用。

答案 3 :(得分:0)

Mail::to(['array','of','emails'])...

Mail::cc(['array','of','emails'])...

Mail::bcc(['array','of','emails'])...