Rails 5 повторяет отправку электронной почты, если во время действия отправки электронной почты возникла исключительная ситуация - PullRequest
0 голосов
/ 17 октября 2019

Что является стандартным способом или параметром конфигурации для приложения Rails 5, чтобы повторить попытку отправки электронной почты, если во время отправки сообщения возникает исключение?

Я ожидаю, что какой-либо параметр попытается повторить отправку несколько раз, но не смогне могу найти ничего подобного.

Подробнее:

Я получил эту ошибку при отправке важного электронного письма, это происходило только один раз за несколько месяцев, ноэто важное электронное письмо, поэтому я хотел бы повысить надежность отправки электронных писем, повторив попытку, если произойдет какое-то исключение (например, проблема с сетью или мой провайдер smtp не смог получить мою электронную почту или по любой другой подобной причине)

451 Ошибка аутентификации: не удалось аутентифицировать

1 Ответ

0 голосов
/ 17 октября 2019

Я бы порекомендовал использовать для этой цели delayed_job gem.

Если вы хотите отправить электронное письмо, вам необходимо вызвать метод delay.

Mailer.delay.your_method

создаст в базе данных запись, которая будет выполняться в фоновом режиме.

Если фоновое задание не выполнено, ошибка будет сохранена для строки. Вы можете настроить номер MAX_ATTEMPTS для сервера delayed_job. Если при отправке ошибок нет - запись будет удалена из таблицы delayed_jobs.

...