使用 ActionMailer 和 mailgun 标记邮件

Tagging messages with ActionMailer and mailgun

我像这样将 mailgun 与 ActionMailer 一起使用:

config.action_mailer.delivery_method = :mailgun
config.action_mailer.mailgun_settings = {
  api_key: 'key-b46eXXXXXXXXXXXX91c4',
  domain: 'mg.eagle.com'
}

邮件是这样发送的:

mail(to: @contact, subject: 'Ask a Question', reply_to: @email, from: @email)

如何为我的邮件添加标签? mailgun 文档 (https://documentation.mailgun.com/en/latest/user_manual.html#tagging) 中有一个示例,但它没有使用 ActionMailer,而是 API...

上的 POST

我找到了解决方法,其实很简单:

将以下行放在邮件命令之前:

headers['X-Mailgun-Tag'] = 'contact_us'

然而,这仅在合并请求请求时有效: https://github.com/mailgun/mailgun-ruby/pull/133

在那之前你可以在 Gemfile 中使用它:

gem 'mailgun-ruby', :github => 'mailgun/mailgun-ruby', :branch => 'sjohn/railgun-mailer-headers'