【问题标题】:How to send multiple emails in laravel5.5laravel5.5如何发送多封邮件
【发布时间】:2018-06-08 01:15:58
【问题描述】:

我想发送多封电子邮件。我正在使用以下代码发送多封电子邮件:-

$emails = ['ab.in@gmail.com', 'ka.in@gmail.com'];

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

如果我将它发送给单个用户,它可以工作,但不适用于多个用户。我应该如何向多个用户发送电子邮件?

【问题讨论】:

标签: php laravel email


【解决方案1】:

来自the 5.5 docs

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

所以,你可以这样做:

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

或者您可以使用nameemail 键传递一个数组:

$users = [
    ['name' => 'John', 'email' => 'john@gmail.com'],
    ['name' => 'Jane', 'email' => 'jane@gmail.com'],
    ['name' => 'Max', 'email' => 'max@gmail.com'],
];

【讨论】:

    【解决方案2】:

    我更喜欢通过队列/假脱机从 Laravel 和 Symfony 发送电子邮件。阅读有关queueing emails in Laravel 的更多信息。

    队列邮件比立即发送消息要好,因为支持请求的主进程不等待邮件发送进程。

    如果您使用Mail:queue,您可以在循环中向多个收件人发送电子邮件

    【讨论】:

      猜你喜欢
      • 2018-02-07
      • 1970-01-01
      • 2011-02-08
      • 1970-01-01
      • 2016-07-17
      • 2014-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多