如果在发送电子邮件操作期间引发异常,Rails 5 将重试发送电子邮件



如果Rails 5应用程序在发送电子邮件期间引发异常,则重试发送电子邮件的标准方式或配置选项是什么?

我希望一些选项可以重试多次发送,但找不到类似的东西。

更多详情:

我在发送重要电子邮件时收到此错误,几个月来只发生过一次,但这是一封重要的电子邮件,因此如果发生某些异常(例如网络问题或我的 smtp 提供商无法收到我的电子邮件或任何类似原因(,我想通过重试来提高发送电子邮件的可靠性(

451 身份验证失败:无法进行身份验证

我建议为此目的使用delayed_job gem。

当您要发送电子邮件时,您需要调用delay方法。

Mailer.delay.your_method

它将在数据库中创建一个将在后台执行的记录。

如果后台作业失败,将为该行保存错误。您可以为delayed_job服务器配置MAX_ATTEMPTS号码。如果发送时没有错误 - 记录将从delayed_jobs表中删除。

最新更新