我已经定义了Mandrill电子邮件模板,我想发送。在发送之前,我想替换模板中定义的某些参数。 例如,其中一封电子邮件是Forgot Password,我想在模板中替换参数 | NEW_PASSWORD |
的新密码我的模板是在MailChimp中创建的,并导入到Mandrill中,我正在使用以下.Net库:
var api = new MandrillApi(api_key);
var recipients = new List();
recipients.Add(new Mandrill.Messages.Recipient(user_email,user_name));
Mandrill.NameContentList content = new Mandrill.NameContentList();
MVList结果= api.SendTemplate(模板,内容,消息);
感谢任何帮助。
由于
罗希特夏尔
答案 0 :(得分:0)
我在山rill http://blog.mandrill.com/handlebars-for-templates-and-dynamic-content.html上使用车把作为合并语言
然后,我发送具有与模板相同名称的变量,或者甚至发送具有相同成员名称的完整对象,以匹配模板中的哪些变量,然后由Handlebar和Mandrill处理将其映射到模板。
答案 1 :(得分:0)
1)从安装nuget包
https://github.com/shawnmclean/Mandrill-dotnet
2)在您的模板中添加占位符。 {{vendor_name}}
3)在api中使用global_merge_vars替换占位符。
他们提供了 具有要替换的占位符名称和值的AddGlobalVariable方法。
Mandrill.Models.EmailMessage email = new Mandrill.Models.EmailMessage();
email.FromEmail = "certificate@riskhippie.com";
email.Subject = "Mandrill API Template Replace";
email.RawMessage = "Hello Pradip Patel";
email.MergeLanguage = "handlebars";
email.AddGlobalVariable("vendor_name", "FI Custom");
//your template name
string TemplateName = "1-Owner to Vendor 1st Req.";
email.To = new List<Mandrill.Models.EmailAddress>()
{
new Mandrill.Models.EmailAddress("pradippatel1411@gmail.com")
};
Mandrill.Requests.Messages.SendMessageTemplateRequest objTemp =
new Mandrill.Requests.Messages.SendMessageTemplateRequest(email, TemplateName);
var results = await api.SendMessageTemplate(objTemp);