Laravel отправка писем нескольким пользователям занимает слишком много времени - PullRequest
0 голосов
/ 20 сентября 2018

Я ищу решение, как я могу оптимизировать свой код для отправки электронной почты всем пользователям моего приложения?

    $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 пользователей.

1 Ответ

0 голосов
/ 20 сентября 2018

Если я не ошибаюсь, вы можете использовать Mail::bcc($emails)->queue(new Mailable($data));.Таким образом, вы можете просто отправить 1 письмо со всеми электронными письмами в BCC.

Однако, если каждое письмо отличается / настраивается для пользователей, вы можете проверить, как отправить событие электронной почты из задания (https://laravel.com/docs/5.7/queues#creating-jobs).

...