0

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

嗨 [%first_name | 亲爱的粉丝%],xxxxxx

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

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

4

1 回答 1

2

我假设您使用官方的 SendGrid Nuget 包。在这种情况下,您可以使用MailHelper类及其方法CreateSingleTemplateEmailCreateSingleTemplateEmailToMultipleRecipients或者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% 确定的。

于 2019-03-14T04:03:11.380 回答