C#客户端如何将替代变量传递给sendgrid营销模板?

时间:2019-03-14 01:16:06

标签: c# sendgrid sendgrid-templates

有一个预定义的营销模板,模板的相关部分如下所示:

  

嗨[%first_name |尊敬的粉丝%],xxxxxx

sendgrid模板变量替换有很多不同的语法,这非常令人困惑。例如,我见过[%variable_name%],{{variable_name}},-variable_name-和<%variable_name%>

如何从C#客户端向模板传递替换/个性化/模板数据(只是列出我看到的不同名称,似乎指的是同一件事?)

1 个答案:

答案 0 :(得分:1)

我假设您使用的是官方的SendGrid Nuget软件包。在这种情况下,您可以根据需要使用MailHelper类及其方法CreateSingleTemplateEmailCreateSingleTemplateEmailToMultipleRecipientsCreateMultipleTemplateEmailsToMultipleRecipients。在最简单的情况下,应该是这样的。

            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%肯定。