本文介绍了SendGrid SendEmailAsync()-引发无法捕获的异常的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
注意:对于关闭此问题的版主来说,它与一般的nullref问题完全不同。如果你读了我的帖子,那显然是SendGrid特有的。
我相信我非常接近documented SendGrid usage:
public async Task<string> SendEmailSendGrid(string emailTo, string subject, string body) {
var apiKey = SafeTrim(ConfigurationManager.AppSettings["SendGridAPIKey"]);
var client = new SendGridClient(apiKey);
var from = new EmailAddress(SafeTrim(ConfigurationManager.AppSettings["SendGridEmail"]));
var to = new EmailAddress(emailTo);
var msg = MailHelper.CreateSingleEmail(from, to, subject, string.Empty, body);
try {
var response = await client.SendEmailAsync(msg);
//return response;
return "SUCCESS";
} catch (Exception ex) {
return "ERROR in SendEmailSendGrid(): " + ex.Message;
}
}
和呼叫者:
var result = utils.SendEmailSendGrid(decodedEmail, "email test", "This is a test email using SendGrid.");
和我每次收到的错误,即使它工作正常并且电子邮件实际上在我的收件箱中发送和到达:
对象引用未设置为对象的实例。
我验证了我的所有变量都按预期填充--没有一个变量为空。我将一个空字符串传递给纯文本参数(因为我总是需要HTML内容),但我也尝试传递一些内容,但没有产生任何影响;同样的错误。
一件奇怪的事情:它爆炸得如此厉害,以至于我的catch
块永远不会被进入。相反,只要抛出异常,这个全屏窗口就会出现在我的VS2022
:
所以它正在工作并发送电子邮件,但为什么会出现严重的崩溃?我做错了什么?
推荐答案
您能试试我的方法吗? 我使用的是单实例方法,试一试,让我们看看。
public async Task SendAsync(IdentityMessage message)
{
var apiKey = new MvcApplication().SENDGRID_APIKEY;
var client = new SendGridClient(apiKey);
var msg = new SendGridMessage()
{
From = new EmailAddress("noreply@questersworld.net", "Questersworld Team"),
Subject = message.Subject,
HtmlContent = "<table width="80%"><tr><td><img src="http://www.questersworld.net/Images/quester.png" width="50" height="50"> Questers World <p><strong>Welcome, Questersworld Participant!</strong></p><br> We value your connection.<br><p>" + message.Body + "</p><p><a href="www.questersworld.net">visit www.questersworld.net</a> </p><br><strong>© Questersworld.net</strong></td></tr></table>"
};
msg.AddTo(new EmailAddress(message.Destination, "Questersworld Participant"));
var response = await client.SendEmailAsync(msg);
}
不要介意我的信息。试一试,看看
这篇关于SendGrid SendEmailAsync()-引发无法捕获的异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!