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

问题描述 投票:4回答:2

我想发送多封电子邮件。我使用下面的代码发送多封电子邮件: -

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

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

php laravel email
2个回答
5
投票

来自the 5.5 docs

to方法接受电子邮件地址,用户实例或用户集合。如果传递对象或对象集合,邮件程序将在设置电子邮件收件人时自动使用其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
投票

我更喜欢通过queue / spool从Laravel和Symfony发送电子邮件。了解更多关于queueing emails in Laravel的信息。

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

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

© www.soinside.com 2019 - 2024. All rights reserved.