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