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

问题描述 投票:0回答:1

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

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

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

如何从C#客户端到模板传递替换/个性化/模板数据(只是为了列出我看到的看起来与之相同的不同名称)?

c# sendgrid sendgrid-templates
1个回答
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("[email protected]"),
                new EmailAddress("[email protected]"),
                "d-template-id",
                dynamicTemplateData);


            var response = await client.SendEmailAsync(msg);

上述方法肯定适用于事务模板,我对营销模板不是100%肯定。

© www.soinside.com 2019 - 2024. All rights reserved.