ruby-on-rails - ActionMailer raise_delivery_errors 在生产中应该是真还是假?

标签 ruby-on-rails ruby actionmailer

如果为真,它将向用户发送一条错误消息。 如果虚假交付错误不会被注意到。

推荐的处理方法是什么?

最佳答案

我们刚刚将一个应用程序投入生产,当我们尝试发送邮件时,我们的 ISP 的邮件服务器经常返回“451 spool busy”错误。

这两个答案都对我们不利:如果我们向用户返回一个错误,我们就把我们的基础架构问题传递给了他们;如果我们不这样做,他们就不会收到邀请/确认/通知/任何其他信息,而且没人知道为什么。

相反,我们决定设置 delayed_job,并始终通过它发送邮件;它会自动重试,我们可以(从数据库中的作业队列表中)看到消息是否正在堆积。 (它的设置也非常简单 - 最难的部分是确保工作线程正在运行,这是对我们的 Monit 配置的简单补充。)

(奖励:这是我为延迟生产中的邮件而编写的初始化程序,但仍会在开发和测试中直接发送它:http://gist.github.com/178125)

关于ruby-on-rails - ActionMailer raise_delivery_errors 在生产中应该是真还是假?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1325340/

相关文章:

ruby-on-rails - PG::UndefinedTable:错误:使用联接和 where 时缺少表的 FROM 子句条目

ruby-on-rails - Rails 4 JSON 属性类型不适用于 Postgres

jquery - 我如何用jquery解析Json

ruby-on-rails - rails 5.2 如何在 Controller 中获取表单数据值

ruby-on-rails - 通过表单提交数据后如何防止重定向

ruby-on-rails - 当客户在 ruby​​ on rails 电子商务应用程序中下订单时收到通知

ruby-on-rails - rails5 api + devise_token_auth : no access-token and uid returns after login successfully via omniauth2

ruby-on-rails - 将 Oulook/Exchange 任务与基于 Linux 的 Rails 集成

ruby-on-rails - 使用 Union Logic 的 ActiveRecord 动态基于属性的查找器?

ruby-on-rails - 当 Rails Mailer 发送电子邮件时,是什么导致文件结束错误?