在我的开发环境中,我在本地测试时使用生产数据库的副本.出于测试和简单防止向真实用户发送测试/开发电子邮件的原因,在开发模式下覆盖邮件地址的最佳方法是什么?
我知道我可以在每个邮件程序中编写逻辑,但我有几个,将它们全部放在一个位置会很好.我可以以mail()某种方式覆盖该方法,使:to参数始终指向我指定的电子邮件地址吗?
ril*_*lla 29
我使用ActionMailer拦截器,因此在开发或测试环境中发送的所有邮件都被发送到同一地址.像这样:
# config/initializers/override_mail_recipient.rb
if Rails.env.development? or Rails.env.test?
class OverrideMailRecipient
def self.delivering_email(mail)
mail.to = 'to@example.com'
end
end
ActionMailer::Base.register_interceptor(OverrideMailRecipient)
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3165 次 |
| 最近记录: |