Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 01.08.2020 13:32:42

kodzero
Откуда: Manila
Сообщений: 11
Сайт

Правильная практика использования e-mail сервиса

Здравствуйте, может кто-то владеет правильной схемой - практикой использования e-mail службы средсвами Laravel без лишних написанный собственного функционала по решению проблем с доставкой писем?
Не могу нагуглить что-то вразумительное.

Суть проблемы - потеря сообщений при потери соединения с интернетом, ну или каналом связи. На smtp gmail, 100% такая проблема есть.

Предположим поднял схему с таким смыслом. В форму на фронте сайта заполняем сообщение и оно улетает на сервер по маршруту падает в контроллер, где поджигается событие данной формы куда падает Request. Данное событие обрабатывает несколько слушателей, запись в файл и отправка на e-mail. Запись в файл всегда отрабатывает отлично. В принципе и e-mail отсылка отрабатывает без проблем в специальном созданном Listener под это дело, когда нет проблем у сервера с интернет соединением.

Mail::to('j@tjo.biz')->send(new FormSubmit($event));

Но стоит только отключить интернет канал, то письмо пропадает в небытие, ни логи не чего.

По идее в теории видел тему про очереди, но изучив их пришел к выводу, что они не решат проблему доставки таких писем, которые возникли при потере канала до почтового smtp сервера полностью. Объясняю их суть положить, - это  ошибку в базу данных в случае неудачи и все. Далее как бы можно в теории дописать логику по обработки таблицы с неудачными очередями, но это будет выглядеть как костыль. Как бы какая-то не такая, так скажем, точно костыльная практика.

Кстати PHPMailer всем известный из композер библиотеки доставляет позже письма, которые не получилось доставить из коробки, просто прописав его массив настроек.
В Ларавел по умолчанию из коробки такое возможно?

Может у кого-то есть готовое решение под данную задачу средствами Laravel, ну или я возможно что-то не знаю?

Заранее всем спасибо за внимание.

P.S. на сайте стоит Laravel 6.x

Изменено kodzero (01.08.2020 13:36:38)

Не в сети

#2 06.08.2020 16:35:30

kodzero
Откуда: Manila
Сообщений: 11
Сайт

Re: Правильная практика использования e-mail сервиса

Никак, писать хендл в связке с очередями.
В итоге решал проблему средствами AWS SES. К сожалению многим не подходит.

Не в сети

Подвал раздела