在我的开发环境中,我在本地测试时使用生产数据库的副本。出于测试和防止向真实用户发送测试/开发电子邮件的原因,在开发模式下覆盖邮件地址的最佳方法是什么?
我知道我可以在每个邮件程序中编写逻辑,但我有几个,最好将它们全部放在一个地方。我可以覆盖mail()
方法以某种方式使:to
参数始终指向我指定的电子邮件地址?
我用一个ActionMailer拦截器 http://api.rubyonrails.org/classes/ActionMailer/Base.html#label-Observing+and+Intercepting+Mails因此,在开发或测试环境中发送的所有邮件都会发送到同一地址。像这样:
# config/initializers/override_mail_recipient.rb
if Rails.env.development? or Rails.env.test?
class OverrideMailRecipient
def self.delivering_email(mail)
mail.to = '[email protected] /cdn-cgi/l/email-protection'
end
ActionMailer::Base.register_interceptor(OverrideMailRecipient)
end
end
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)