Постановка письма в очередь в Laravel
send ждёт, пока письмо
уйдёт, и только потом отдаёт ответ.
При медленном SMTP пользователь
дольше смотрит на загрузку страницы.
Если письмо не обязательно слать
в ту же секунду, его ставят в очередь.
Вместо send вызывают queue:
<?php
use Illuminate\Support\Facades\Mail;
Mail::to($user)->queue(new WelcomeMail($user->name));
?>
Письмо попадёт в очередь заданий.
Чтобы оно реально ушло, нужны
настроенная очередь и worker -
это разбирается в разделе «Очереди».
Для учёбы можно оставить
QUEUE_CONNECTION=sync:
тогда queue выполнится сразу
в том же процессе, но код уже будет
готов к фоновой отправке.
Замените send на queue
для WelcomeMail.
Чем queue отличается
от send для пользователя
страницы?