Laravel 向多个用户发送电子邮件花费的时间太长

Laravel sending emails to multiple users takes too long

我正在寻找解决方案,如何优化我的代码以向我的应用程序中的所有用户发送电子邮件?

    $emails = [
        'myoneemail@esomething.com',
        'myoneemail@esomething.com',
        'myoneemail@esomething.com',
        ...
    ];

    $data = [
        'subject' => 'Items List',
        'mailFrom' => 'no-replay@example.com',
        'items' => $items
    ];

    foreach ($emails as $email) {

        Mail::to($email)->queue(new Mailable($data));

    }
    return back();

有没有优化的方案?在实时应用程序中,我有 100 多个用户。

如果我没记错的话,可以使用Mail::bcc($emails)->queue(new Mailable($data));。 这样您就可以发送 1 封邮件,所有邮件都在密件抄送中。

但是,如果每封邮件都是 different/customised 给用户的,您可能需要检查如何从作业 (https://laravel.com/docs/5.7/queues#creating-jobs) 发送电子邮件事件。