SendGrid SendEmailAsync() - uncatchable exception thrown(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()-引发无法捕获的异常的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:SendGrid SendEmailAsync()-引发无法捕获的异常


基础教程推荐
- 如何动态获取文本框中datagridview列的总和 2022-01-01
- 将事件 TextChanged 分配给表单中的所有文本框 2022-01-01
- 错误“此流不支持搜索操作"在 C# 中 2022-01-01
- JSON.NET 中基于属性的类型解析 2022-01-01
- 首先创建代码,多对多,关联表中的附加字段 2022-01-01
- 是否可以在 asp classic 和 asp.net 之间共享会话状态 2022-01-01
- 在 VS2010 中的 Post Build 事件中将 bin 文件复制到物 2022-01-01
- 经典 Asp 中的 ResolveUrl/Url.Content 等效项 2022-01-01
- 从 VS 2017 .NET Core 项目的发布目录中排除文件 2022-01-01
- 全局 ASAX - 获取服务器名称 2022-01-01