Как Laravel планирует почту для последующей отправки?

Документация Laravel описывает способность запланировать почту для последующей доставки, со следующим примером:

$when = Carbon::now()->addMinutes(10);

Mail::to($request->user())
->cc($moreUsers)
->bcc($evenMoreUsers)
->later($when, new OrderShipped($order));

Никаких дополнительных настроек упоминается в документации (нет таблиц базы данных или что-то вроде того, что требуется для этой функции). Но мне интересно, как это работает? Где Laravel хранит информацию для последующего поиска.

Надежна ли эта функция в течение более длительного времени? Я хочу отправить письмо пользователю через 3 дня после регистрации. Может ли быть вероятность того, что почта будет потеряна? Например при перезапуске сервера?

6

Решение

Из того же документа вы связали

Этот метод автоматически позаботится о переносе работы на
очередь, поэтому сообщение отправляется в фоновом режиме. Конечно ты будешь
необходимо настроить ваши очереди перед использованием этой функции.

Laravel использует очереди, чтобы позаботиться об этом. Вам необходимо включить очередь в отправляемом почтовом сообщении. Почта с задержкой отправки также использует те же очереди. Чтобы использовать эту функцию, вы должны иметь настройку очереди и прослушиватель очереди или работника, работающего для обработки очередей. Проверьте doc очередей для получения дополнительной информации об этом.

https://laravel.com/docs/5.4/queues

9

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]