使用模板在SendGrid SMTP API

本文关键字:SendGrid SMTP API | 更新日期: 2023-09-27 18:02:15

我想知道,在c#中使用SendGrid模板的正确方法是什么?现在我得到以下错误:

检测到的错误是:' Templates error: 'http_get returned non20x 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头"

使用模板在SendGrid SMTP API

如果你得到Active Version Not Found错误,那么你需要首先通过SendGrid模板引擎仪表板使你想要使用的模板激活。一旦你在你正在使用的ID下有一个活动模板,它应该可以正常工作。

更多细节请参见模板引擎用户指南