【发布时间】:2018-01-26 19:28:02
【问题描述】:
我使用安装了 Sendgrid nuget 包的 asp mvc 核心
我可以成功创建/发送/接收纯文本电子邮件。但是我现在尝试使用我在我的 sendgrid 帐户中创建的跨国模板来传递自定义值以在模板中进行替换。
当我运行以下命令时,我在响应变量中收到一个错误的请求错误:
public async Task<Response> SendTemplateAsync(string to, string toName, string subject, string plainTextContent, string htmlContent, string templateId, IEnumerable<IFormFile> attachments = null)
{
var msg = new SendGridMessage
{
From = new EmailAddress(_sendGridSettings.EmailFrom, _sendGridSettings.EmailFromName),
Subject = subject,
PlainTextContent = plainTextContent,
HtmlContent = htmlContent,
TemplateId = templateId
};
msg.AddSubstitution("-NAME-", toName.ToString());
msg.AddSubstitution("-UREF-", "ABC 123".ToString());
msg.AddTo(new EmailAddress(to, toName));
var response = await _sendGridClient.SendEmailAsync(msg);
return response;
}
我似乎无法访问任何有意义的错误消息,控制台中没有任何内容等。当我删除“msg.AddSubstitution”和模板引用时,上面的代码有效。
我阅读了许多示例,这些示例似乎都表明我正在做的事情是正确的。有人也可以解释一下 Substitution 和 custom args 之间的区别
提前致谢
【问题讨论】:
-
你让它工作了吗?我遇到了同样的问题。
标签: c# asp.net-core sendgrid