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

时间:2019-10-17 15:51:36

标签: ruby-on-rails actionmailer

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

我希望某些选项可以重试发送多次,但找不到类似的内容。

更多详细信息:

我在发送重要电子邮件时收到this error,自几个月以来它仅发生过一次,但这是重要电子邮件,因此,我想通过重试是否发生异常(例如网络问题)来提高发送电子邮件的可靠性或我的smtp提供程序无法收到我的电子邮件或任何类似原因)

  

451验证失败:无法验证

1 个答案:

答案 0 :(得分:0)

我建议为此目的使用delayed_job宝石。

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

Mailer.delay.your_method

它将在数据库中创建一条记录,该记录将在后台执行。

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