有一个预定义的营销模板,模板的相关部分如下所示:
嗨[%first_name |亲爱的粉丝%],xxxxxx
sendgrid模板变量替换有很多不同的语法,它只是非常令人困惑。例如,我见过[%variable_name%],{{variable_name}}, - variable_name-和<%variable_name%>
如何从C#客户端到模板传递替换/个性化/模板数据(只是为了列出我看到的看起来与之相同的不同名称)?
我假设你使用官方的SendGrid Nuget包。在这种情况下,您可以根据您的需要使用MailHelper
类及其方法CreateSingleTemplateEmail
,CreateSingleTemplateEmailToMultipleRecipients
或CreateMultipleTemplateEmailsToMultipleRecipients
。在最简单的情况下,它应该是这样的。
var client = new SendGridClient(ApiKey);
var dynamicTemplateData = new Dictionary<string, string>
{
{"first_name", "John"},
{"last_name", "Snow"},
};
var msg = MailHelper.CreateSingleTemplateEmail(
new EmailAddress("[email protected]"),
new EmailAddress("[email protected]"),
"d-template-id",
dynamicTemplateData);
var response = await client.SendEmailAsync(msg);
上述方法肯定适用于事务模板,我对营销模板不是100%肯定。