如何在 Laravel5.5 中发送多封电子邮件

4
我可以帮您翻译成中文。以下是发送多封电子邮件的代码:

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

$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;

如果我将邮件发送给单个用户,那么它可以正常工作,但是对于多个用户则不行。我应该如何向多个用户发送电子邮件?

请分享适用于单个电子邮件的代码? - freelancer
2个回答

5

来自5.5文档

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'],
];

0

我更喜欢使用队列/邮件池从Laravel和Symfony发送电子邮件。了解更多关于Laravel中的邮件队列

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

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接