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

时间:2013-11-13 21:26:48

标签: ruby-on-rails templates mandrill

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

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

现在,我在Mandrill准备好了一个模板,现在是什么?

我如何实际使用此模板,是否需要调整应用程序上的代码以进行不同的调用,或者我是否需要在mandrill仪表板上执行某些操作以告诉它使用新模板而不是rails正在发送的版本。

我如何实际使用此模板?

提前谢谢。

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:3)

没有任何宝石:

要使用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

就我而言,它使用我的“欢迎”模板。只需使用您的mandrill模板的名称。

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

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