在 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 中使用模板发送电子邮件的主要内容,如果未能解决你的问题,请参考以下文章