ruby-on-rails - 将不同的 delivery_method 与 ActionMailer 一起用于单个电子邮件?

标签 ruby-on-rails actionmailer

给定一个 Mailer Rails 3 中的实例,有没有办法覆盖 delivery_method在上面?

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

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

最佳答案

事实证明,这样做只会影响这个特定的邮件程序,而不会改变 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 - 将不同的 delivery_method 与 ActionMailer 一起用于单个电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7214087/

相关文章:

ruby-on-rails - Rails - 设计,如何禁用一些默认路由?

ruby-on-rails - Capistrano 3 钩子(Hook)之前和之后

ruby-on-rails - ActionMailer HTML 编码 hell - 特殊字符替换为垃圾

ruby-on-rails - Rails Actionmailer 发送多个收件人

ruby-on-rails - 您如何从 ActionMailer 类中访问 session ?

ruby-on-rails - 按返回整数的模型方法进行扫描排序

javascript - Ruby on Rails Ajax 复选框

ruby-on-rails - Rails ajax 表单提交消息

ruby-on-rails - 对于 rails actionmailer,有什么方法可以调试 ActionView::Template::Error 错误?

ruby-on-rails - Rails 3 和设计转义邮件模板