ruby-on-rails - 在 Rails 3 的邮件拦截器中设置 header

标签 ruby-on-rails ruby-on-rails-3 actionmailer

我想为所有邮件设置一个 header 值。我想在拦截器中执行此操作,这样我就不必为所有邮件重复代码。

如果我在 mailer 函数中执行它,代码将如下所示,

headers['X-Mailgun-Campaign-Id'] = "1234"

但是我如何使用拦截器实现同样的效果呢?

最佳答案

我在 ActionMailer 拦截器中设置自定义 header 时遇到了类似的问题。邮件程序中使用的标准语法不起作用:

def self.delivering_email(message)
  message.headers['X-Mailgun-Campaign-Id'] = "1234"
end

...但是源代码中注明的这种散列式语法确实有效:

def self.delivering_email(message)
  message.headers 'X-Mailgun-Campaign-Id' => "1234"
end

关于ruby-on-rails - 在 Rails 3 的邮件拦截器中设置 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12898883/

相关文章:

ruby-on-rails - 如何指定 heroku 的 MIME 类型?

ruby-on-rails - 在开发中尝试exception_notification时使用ActionMailer::Base::NullMail

ruby-on-rails - 如何为我的 Rails 应用程序提供通用时间支持?

ruby-on-rails - pg_search 使用一个文本字段和一个类别选择类型字段

ruby - 使用 RSpec 测试 ActionMailer 多部分电子邮件(文本和 html 版本)

ruby-on-rails-3 - RuntimeError default_url_options 主机和 root_url(带子域)

css - 为什么不使用 bootstrap 2.3.2?

ruby-on-rails - 如何在使用 Rails 运行的 Sequel 中获取当前数据库对象?

ruby-on-rails - Rails 3.2.2 和 Rocket_tag 没有这样的列

ruby-on-rails - 带有 I18n 的邮件程序的 Rspec