@sawa4

Почему фасад MAIL долго отрабатывает в Laravel 5.2?

Всем доброго времени!
Почему тормозит (долго перегружается страница) скрипт при использовании Mail?
Если убрать с кода оправку Email, то код в разы быстрее работает
use Illuminate\Support\Facades\Mail;
$text = 'some text in DB';
$title = 'some title';
$userEmail = 'some user email';
Mail::send('emails.send_mail', ['text' => $text], function ($message) use ($userEmail, $title) {
$message->from('no-reply@shsh.ru', 'Sender Name');
$message->to($userEmail)->subject($title);
});
Как решить такое торможения? Кто что посоветует?
  • Вопрос задан
  • 154 просмотра
Пригласить эксперта
Ответы на вопрос 2
DJZT
@DJZT
Laravel - code for you
Это не фасад тормозит, а в принципе отправка email дело не быстрое. Если хотите быстро это делать - то сделайте отправку email через очереди.
laravel.su/docs/5.0/mail#queueing-mail

UPD
Еще сервис отправки email через api (mandril, mailchimp). API отрабатывает быстро, а сообщение становится в очередь на отправку уже на самом сервисе
Ответ написан
Alex_Wells
@Alex_Wells
PHP/Kotlin
Используй очереди. Создай очередь на Mail, и Job на отправку. Собственно добавляешь в очередь и дальше все само. Главное - не забыть ее запустить). Лагает, потому-что отправка работает синхронно - пока не отправится, до того времени сервер не ответит. Так делать не нужно.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы