我正在实施电子邮件消息队列。 我使用拦截器。
class MyInterceptor
def self.delivering_email(mail)
Email.queue(mail)
end
end
ActionMailer::Base.register_interceptor(MyInterceptor)
但是这段代码以正常方式发送电子邮件。 如何阻止发送电子邮件? 我将手动从队列中发送电子邮件。
感谢。
萨姆
答案 0 :(得分:4)
将Mail::Message#perform_deliveries
设为false
:
class NeverDeliverInterceptor
def self.delivering_email(message)
message.perform_deliveries = false
end
end
ActionMailer::Base.register_interceptor(NeverDeliverInterceptor)
See API doc来源&其他用法。
答案 1 :(得分:1)
我找到了解决方法。我只是将delivery_method设置为:test。
答案 2 :(得分:0)
简单地将delivery_method设置为自定义传递代理类可能会更好(请参阅http://api.rubyonrails.org/v3.2.14/classes/ActionMailer/Base.html)。