如何通过API C#和Template向SendGrid电子邮件添加自定义变量

Jim*_*nes 13 c# asp.net sendgrid

我试图弄清楚如何将变量添加到已在sendgrid模板引擎中创建的现有模板(例如:动态链接或名称),我不确定如何使用SendGrid C#.NET库执行此操作.我想知道是否有人可以帮助我.

// Create the email object first, then add the properties.
SendGridMessage myMessage = new SendGridMessage();

myMessage.AddTo("test@test.com");
myMessage.From = new MailAddress("test@test.com", "Mr test");
myMessage.Subject = " ";

var timestamp = DateTime.Now.ToString("HH:mm:ss tt");
myMessage.Html = "<p></p> ";

myMessage.EnableTemplate("<p> <% body %> Hello</p>");
myMessage.EnableTemplateEngine("9386b483-8ad4-48c2-9ee3-afc7618eb56a");
var identifiers = new Dictionary<String, String>();
identifiers["USER_FULLNAME"] = "Jimbo Jones";
identifiers["VERIFICATION_URL"] = "www.google.com";
myMessage.AddUniqueArgs(identifiers);

// Create credentials, specifying your user name and password.
var credentials = new NetworkCredential("username", "password");
// Create an Web transport for sending email.
var transportWeb = new Web(credentials);
// Send the email.
transportWeb.Deliver(myMessage);
Run Code Online (Sandbox Code Playgroud)

Osw*_*rez 10

我的电子邮件

Hello -REP-

<%body%>

Fotter
Run Code Online (Sandbox Code Playgroud)

我的C#代码

myMessage.AddSubstitution("-REP-", substitutionValues);
Run Code Online (Sandbox Code Playgroud)

完美的作品!!!


Jim*_*nes 6

我找到了解决方案:

replacementKey = "*|VERIFICATION_URL|*";
substitutionValues = new List<string> { VERIFICATION_URL };

myMessage.AddSubstitution(replacementKey, substitutionValues);
Run Code Online (Sandbox Code Playgroud)