ActionMailer 拦截器
Action Mailer 为拦截器方法提供了钩子。这些允许你注册在邮件传递生命周期中调用的类。
拦截器类必须实现:deliver_email(message)
方法,该方法将在发送电子邮件之前调用,允许你在电子邮件到达传递代理之前对其进行修改。你的类应该直接对传入的 Mail::Message 实例进行任何所需的修改。
对于开发人员来说,向自己而不是真实用户发送电子邮件会很有用。
注册动作邮件拦截器的示例:
# config/initializers/override_mail_recipient.rb
if Rails.env.development? or Rails.env.test?
class OverrideMailRecipient
def self.delivering_email(mail)
mail.subject = 'This is dummy subject'
mail.bcc = 'test_bcc@noemail.com'
mail.to = 'test@noemail.com'
end
end
ActionMailer::Base.register_interceptor(OverrideMailRecipient)
end