【问题标题】:Laravel 5.3 send Mail to multiple email-adressesLaravel 5.3 将邮件发送到多个电子邮件地址
【发布时间】:2017-04-02 08:49:07
【问题描述】:

我正在使用 Laravel 5.3 并尝试将时事通讯邮件发送到特定的邮件地址。

目前我执行以下操作:

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

这将返回一个电子邮件地址数组,电子邮件应发送到该数组。

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

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

我想过只是将该数组传递给to 函数,但我很确定它不会工作....你可以做的,是每个邮件地址的foreach并发送邮件,但是这是应该如何完成的方式还是有更好的方式?

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

【问题讨论】:

    标签: php laravel email swiftmailer laravel-5.3


    【解决方案1】:

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

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

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

    【讨论】:

    • 哦,太好了,你说得对,看起来就这么简单。谢谢!
    • 只是缺少一件事,我正在使用 TinyMCE 创建时事通讯文本,所以变量 $newsletterText 包含 HTML,到目前为止我在邮件中收到了 html,所以不是“编译”的 html ,我该如何改变呢?
    • 好的,知道了,需要在刀片模板中使用!!
    【解决方案2】:

    我认为它应该可以工作,但你也可以尝试这样做:

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

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

    也许您也可以尝试发送一封电子邮件并验证它工作正常,然后您可以尝试使用电子邮件数组发送电子邮件。

    【讨论】:

      【解决方案3】:

      来自发送邮件的Laravel 5.4 documentation

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

      【讨论】:

        【解决方案4】:
        Mail::to(['array','of','emails'])...
        

        还有

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

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2011-10-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多