[英]Register a Mailer Interceptor in Rails on just a single mailer
我正在嘗試將攔截器添加到我的Rails應用程序中的幾個郵件程序之一。 即使我試圖只在一個郵件程序上注冊它,它似乎攔截了兩者的電子郵件。 下面是一些示例代碼,說明我是如何嘗試注冊一個Mailer的。
class Mailer1 < ActionMailer::Base; end
class Mailer2 < ActionMailer::Base; end
Mailer1.register_interceptor(MailInterceptor)
是否可以只關注一個郵件? 謝謝您的幫助
您可以做的是僅在特定郵件程序上應用攔截器:
class SpecificMailerInterceptor
FILTERED_MAILERS = %w(SpecificMailer)
def self.delivering_email(message)
return if deliver?(message)
message.perform_deliveries = false
end
def self.deliver?(message)
# If you are in the other mailers always deliver message
return true unless FILTERED_MAILERS.include?(message.delivery_handler.to_s)
# Apply interceptor logic here
end
end
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.