一旦调用ActionMailer方法,是否可以中止发送电子邮件?

时间:2011-10-19 14:31:19

标签: ruby-on-rails actionmailer

假设我已经调用了一个驻留在邮件程序中的动作管理器方法。

我进行处理以确定此方法中是否有电子邮件的任何收件人。有时没有,但似乎一旦调用此方法,就不可能中止发送。在不设置收件人的情况下完成方法会引发错误。那是对的吗?有没有办法中止?

谢谢, 克里斯。

1 个答案:

答案 0 :(得分:1)

这是您应该考虑提出自己的例外情况。您可以在lib中定义它,然后在调用邮件程序的代码中捕获它。

class AbortMailingException < Exception
end

# In your mailer ...
if !have_enough_recipients()  # Or whatever conditions / checks you want to perform.
  raise AbortMailingException.new
end

# In the code that calls your mailer ...
begin
  my_mailer_function(args)
rescue AbortMailingException => e
  # Handle error, log, ignore, whatever
end