解决方法
正如McStretch指出的那样,观察者是处理邮件传递的每条消息的最佳方式.但是,如果您只想捕获1或2个特殊情况,则可以执行以下操作:
假设您有一个名为MyMailer的ActionMailer子类,以及一个名为foobar的电子邮件,
# Rails 2.x mail = MyMailer.create_foobar(...) # instead of MyMailer.deliver_foobar(...) File.open('filename.txt','wb') {|f| f.write(mail.body) } MyMailer.deliver(mail) # Rails 3.x mail = MyMailer.foobar(...) # instead of MyMailer.foobar(...).deliver File.open('filename.txt','wb') {|f| f.write(mail.body) } mail.deliver