Можно ли прервать отправку электронной почты после вызова метода ActionMailer? - PullRequest
1 голос
/ 19 октября 2011

Допустим, я вызвал метод actionmailer, который находится в почтовой программе.

Я выполняю обработку, чтобы определить, есть ли в этом методе какие-либо получатели электронной почты.Иногда их нет, но кажется, что после вызова этого метода невозможно прервать отправку.Завершение метода без установки получателя выдает ошибку.Это верно?Нет ли способа прервать?

Спасибо, Крис.

1 Ответ

1 голос
/ 19 октября 2011

Это тот случай, когда вы должны рассмотреть вопрос о создании собственного исключения. Вы можете определить его в 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
...