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

发布于 2024-12-10 22:17:02 字数 158 浏览 0 评论 0原文

假设我调用了驻留在邮件程序中的actionmailer 方法。

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

谢谢, 克里斯.

Let's say I've called an actionmailer method which resides in a mailer.

I do the processing to determine if there are to be any recipients of the email in this method. Sometimes there are none, but it appears that once this method is called, it is impossible to abort sending. Finishing the method without setting a recipient throws an error. Is that correct? Is there no way to abort?

Thanks,
Chris.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

往事随风而去 2024-12-17 22:17:02

在这种情况下,您应该考虑提出自己的例外情况。您可以在 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

This is the type of case where you should consider raising your own exception. You can define it in lib, and then catch it in the code that calls your mailer.

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
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文