Asp.net 核心 SendGrid 动态模板集成
Asp.net Core SendGrid Dynamic Template Integration
我最近将 SendGrid 添加到我的 .net Core razor 项目中。为了使自动帐户确认和密码重置电子邮件更加专业,我尝试实施动态模板。电子邮件以前工作正常,但一旦我使用 SendGrid 帮助程序添加模板 ID,电子邮件就不会发送。
//string emailString = "<html><body>"
//+ "<img src='https://publishendersapp.azwebsites.net/images/logo.png' />"
//+ "<p>Dear " + user.FirstName + ",</p>"
// + "<p>Thank you for registering for PublishFinders.com! We are glad to have you on board.</p>"
// + $"Please <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'> click </a> here to confirm your email address. <br />"
// + "<p>Thank you for registering ! </p>"
// + "<p>The PublisherFinders Team</p>" +
// "</body></html>";
//await _emailSender.SendEmailAsync(
// Input.Email, "Confirm your email ", emailString
// );
此代码使用它工作正常但不能使用模板发送
您似乎正在尝试使用 SMTP 发送电子邮件。要使用动态模板发送邮件,您必须使用 Web API mail.send。 SMTP 发送不支持动态模板。
查看以下内容linkhttps://docs.sendgrid.com/ui/sending-email/how-to-send-an-email-with-dynamic-transactional-templates
以下对我来说很好:
var templateId = "x-xxxxxxxxxx";
var dynamicTemplateData = new { };
// Create a SendGrid E-Mail
var apiKey = _config.GetValue<string>("SendGridKey");
var emailKey = _config.GetValue<string>("Email");
var client = new SendGridClient(apiKey);
EmailAddress feedbackFrom = new EmailAddress(emailKey, null);
var feedBack = MailHelper.CreateSingleTemplateEmail(feedbackFrom, feedBackTo, templateId, dynamicTemplateData);
var feedBackResponse = await client.SendEmailAsync(feedBack);
就这些了!
我最近将 SendGrid 添加到我的 .net Core razor 项目中。为了使自动帐户确认和密码重置电子邮件更加专业,我尝试实施动态模板。电子邮件以前工作正常,但一旦我使用 SendGrid 帮助程序添加模板 ID,电子邮件就不会发送。
//string emailString = "<html><body>"
//+ "<img src='https://publishendersapp.azwebsites.net/images/logo.png' />"
//+ "<p>Dear " + user.FirstName + ",</p>"
// + "<p>Thank you for registering for PublishFinders.com! We are glad to have you on board.</p>"
// + $"Please <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'> click </a> here to confirm your email address. <br />"
// + "<p>Thank you for registering ! </p>"
// + "<p>The PublisherFinders Team</p>" +
// "</body></html>";
//await _emailSender.SendEmailAsync(
// Input.Email, "Confirm your email ", emailString
// );
此代码使用它工作正常但不能使用模板发送
您似乎正在尝试使用 SMTP 发送电子邮件。要使用动态模板发送邮件,您必须使用 Web API mail.send。 SMTP 发送不支持动态模板。
查看以下内容linkhttps://docs.sendgrid.com/ui/sending-email/how-to-send-an-email-with-dynamic-transactional-templates
以下对我来说很好:
var templateId = "x-xxxxxxxxxx";
var dynamicTemplateData = new { };
// Create a SendGrid E-Mail
var apiKey = _config.GetValue<string>("SendGridKey");
var emailKey = _config.GetValue<string>("Email");
var client = new SendGridClient(apiKey);
EmailAddress feedbackFrom = new EmailAddress(emailKey, null);
var feedBack = MailHelper.CreateSingleTemplateEmail(feedbackFrom, feedBackTo, templateId, dynamicTemplateData);
var feedBackResponse = await client.SendEmailAsync(feedBack);
就这些了!