在 Mandrill 中使用模板发送电子邮件

Posted

技术标签:

【中文标题】在 Mandrill 中使用模板发送电子邮件【英文标题】:sending emails using templates in Mandrill 【发布时间】:2013-11-26 16:46:28 【问题描述】:

我已通读文档,但仍不清楚如何在 mandrill 中实际使用这些模板。

目前我有一个带有标准 Rails 邮件程序(位于:App > views > welcome_mailer > welcome_email.html.erb)的 Rails 应用程序,通过 Mandrill SMTP 设置发送。这工作正常。

现在,我在 Mandrill 中准备好了一个模板,现在该怎么办?

我如何实际使用这个模板,我是否需要调整我的应用程序上的代码以进行不同的调用,或者我是否需要在 mandrill 仪表板上做一些事情来告诉它使用新模板而不是 rails正在发送版本。

我如何实际使用这个模板?

提前谢谢你。

【问题讨论】:

【参考方案1】:

没有任何宝石:

要使用 mandrill 模板,您首先需要在您的 mandrill 帐户中创建一个,然后在您的邮件中添加一个正确的标题,该标题告诉模板的名称。然后 mandrill 会神奇地自动调用该模板。

例子:

# app/mailers
class CardMailer < ActionMailer::Base
  default from: "admin@domain.ch"

  def welcome(card)
    mail to:      card.responsable.email,
         from:    "\"Andrey\" <admin@domain.ch>",
         subject: 'Welcome in my website'
    headers['X-MC-MergeVars'] = "\"TYPE\":\"#card.card_type.name\"" # variables
    headers['X-MC-Template'] = "welcome"  # template
    headers['X-MC-AutoText'] = 1 # generate text version
    headers['X-MC-InlineCSS'] = "true" # inline css
  end
end

就我而言,它使用我的“欢迎”模板。只需使用山魈模板的名称即可。

如您所见,还有许多其他可用的标头。查看完整列表here。

注意:即使您不再使用 rails 模板,您的视图中仍然需要一个。

【讨论】:

【参考方案2】:

您可以使用mandrill_mailer gem,从MandrillMailer::TemplateMailer 继承您的邮件,然后照常发送InvitationMailer.invite(invitation).deliver

【讨论】:

以上是关于在 Mandrill 中使用模板发送电子邮件的主要内容,如果未能解决你的问题,请参考以下文章

使用 Mandrill 发送电子邮件模板给我错误

通过 Java 发送电子邮件模板时的 Mandrill-Error code-5

使用模板发送电子邮件 (Mandrill PHP)

在模板中找不到发送到 mandrill

发送电子邮件的 Mandrill 问题:消息未发送:排队

在生产中使用 Mandrill 发送设计电子邮件