如果Rails 5应用程序在发送电子邮件期间引发异常,则重试发送电子邮件的标准方式或配置选项是什么?
我希望一些选项可以重试多次发送,但找不到类似的东西。
更多详情:
我在发送重要电子邮件时收到此错误,几个月来只发生过一次,但这是一封重要的电子邮件,因此如果发生某些异常(例如网络问题或我的 smtp 提供商无法收到我的电子邮件或任何类似原因(,我想通过重试来提高发送电子邮件的可靠性(
451 身份验证失败:无法进行身份验证
我建议为此目的使用delayed_job gem。
当您要发送电子邮件时,您需要调用delay
方法。
Mailer.delay.your_method
它将在数据库中创建一个将在后台执行的记录。
如果后台作业失败,将为该行保存错误。您可以为delayed_job服务器配置MAX_ATTEMPTS号码。如果发送时没有错误 - 记录将从delayed_jobs
表中删除。