在生产环境的 Rails 应用中,是否应该将 raise_delivery_errors 设置为 true?

17

在Ruby on Rails中,默认情况下将此设置为false(在生产和开发环境中)。

config.action_mailer.raise_delivery_errors = false

看起来很奇怪。我明确在开发环境中打开了它,这非常有帮助。但为什么似乎没有人在生产环境中打开它呢?难道我们不应该在无法发送电子邮件时收到通知吗?这似乎非常重要。

production.rb 中 Rails 的注释如下:

  

将忽略错误的电子邮件地址。

但是我有一些验证来检查不正确的电子邮件地址。看起来我仍然想知道用户未能收到电子邮件的频率(通过异常通知器或其他方式)。

1个回答

15

真正的问题是你希望发送失败的电子邮件向终端用户抛出错误吗?也许邮件服务器已经宕机或者其他一些原因阻止了电子邮件的发送。您希望这会向用户抛出50x错误吗?

个人而言,我异步地发送所有电子邮件,这样我就可以监控到这种情况(而且它对响应时间非常有帮助)。


嗨,我认为是的,因为如果用户看到它,这意味着我会通过异常邮件通知并了解情况。否则,我可能永远不会知道出了什么问题。我正在使用 postfix,我相信它是异步的,所以这意味着它应该很少(如果有的话)不可用,对吧?或者如果发生错误,它会在 postfix 中显示出来?谢谢你的帮助。 - Brian Armstrong

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接