给定Rails 3中的Mailer实例,是否可以重写它上的delivery_method

我想通过高优先级的邮件发送某些电子邮件,而其他人则使用更忙碌,低优先级的方法。

我可以在运行时调整配置,然后再次将其更改回去,但这充满了潜在的副作用。

最佳答案

事实证明,这样做只会影响此特定的Mailer,而不会全局更改ActionMailer::Base

class SomeMailer < ActionMailer::Base
  self.delivery_method = :high_priority

  def some_email(params)
  end
end

您也可以执行此操作(警告:会影响AnotherMailer的所有实例),前提是您先实例:
mail = AnotherMailer.whatever_email
mail.delivery_handler.delivery_method = :something_else

这些似乎没有记录,但可以工作。

关于ruby-on-rails - 仅对一封电子邮件使用与ActionMailer不同的delivery_method?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7214087/

10-13 04:57