在SendGrid SMTP API中使用模板

4
我想知道在C#中使用SendGrid模板的正确方法是什么?现在我遇到了以下错误:
“错误信息:模板错误:'http_get returned non-20x response: '404 Not Found' body='{"error": "active version not found"}'”
这是我的EmailService类,我想用它向用户发送电子邮件。如果我注释掉“EnableTemplateEngine”方法,一切似乎都能正常工作,但我真的很想使用SendGrid模板。
public class EmailService : IIdentityMessageService
{
    public async Task SendAsync(IdentityMessage message)
    {
        await configSendGridasync(message);
    }

    private async Task configSendGridasync(IdentityMessage message)
    {
        var myMessage = new SendGridMessage();
        myMessage.AddTo(message.Destination);
        myMessage.From = new System.Net.Mail.MailAddress("emailAddress", "displayName");
        myMessage.Subject = message.Subject;
        myMessage.Text = message.Body;
        myMessage.Html = message.Body;
        myMessage.EnableTemplateEngine("eeeexxxx-aaaa-mmmm-pppp-lllleeee1234");

        ...
    }
}

SendGrid 的活动日志显示该邮件被丢弃,原因是“无效的 SMTP 头部”。

1个回答

5
如果您遇到“Active Version Not Found”错误,则需要首先通过SendGrid模板引擎仪表板使要使用的模板处于活动状态。一旦您在使用的ID下拥有一个活动模板,它应该可以正常工作。
更多细节请参阅模板引擎用户指南

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接