有一个预定义的营销模板,模板的相关部分如下所示:
嗨[%first_name |尊敬的粉丝%],xxxxxx
sendgrid模板变量替换有很多不同的语法,这非常令人困惑。例如,我见过[%variable_name%],{{variable_name}},-variable_name-和<%variable_name%>
如何从C#客户端向模板传递替换/个性化/模板数据(只是列出我看到的不同名称,似乎指的是同一件事?)
答案 0 :(得分:1)
我假设您使用的是官方的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("from@test.com"),
new EmailAddress("to@test.com"),
"d-template-id",
dynamicTemplateData);
var response = await client.SendEmailAsync(msg);
以上方法对于事务性模板肯定有效,而我对营销模板不是100%肯定。