无法使用 Sendgrid 在 Azure Web App 上发送电子邮件
本文关键字:App 电子邮件 Web Azure Sendgrid | 更新日期: 2023-09-27 18:30:55
我无法在 Azure 上配置的 MVC4 Web 应用上发送电子邮件。我可以在我的计算机上本地发送电子邮件,但是当我将代码上传到云中的 azure 应用程序时,邮件传递不会说它失败,但电子邮件没有传递,SendGrid 也不会报告邮件已在其仪表板上发送。
有人遇到过类似的问题吗?研究过类似的问题,但没有确切的答案。
我确实遵循了本文(https://azure.microsoft.com/en-us/documentation/articles/sendgrid-dotnet-how-to-send-email/#reference)的说明,但没有成功。还尝试通过SendGrid类库和使用普通System.Net.Mail发送电子邮件。
任何帮助,不胜感激。
法典:
感谢您的回复。我正在使用Web.DeliverAsync,这是我正在使用的代码:
// Create network credentials to access your SendGrid account
var username = System.Configuration.ConfigurationManager.AppSettings["smtpUser"];
var pswd = System.Configuration.ConfigurationManager.AppSettings["smtpPass"];
var credentials = new NetworkCredential(username, pswd);
// Create an Web transport for sending email.
SendGrid.Web transportWeb = new SendGrid.Web(credentials);
//var apiKey = System.Configuration.ConfigurationManager.AppSettings["sendgrid_api_key"];
var apiKey = "apikey";
SendGridMessage msg = new SendGridMessage();
msg.Subject = "...";
msg.AddTo(model.Email);
msg.Html = body;
msg.From = new MailAddress("...");
try
{
await transportWeb.DeliverAsync(msg);
}
catch (Exception e)
{
e.ToExceptionless().Submit();
ViewBag.ErrorMsg = e.Message;
return View("Error");
}
试试这个:
var apiKey = System.Configuration.ConfigurationManager.AppSettings["sendgrid_api_key"];
// Create an Web transport for sending email.
SendGrid.Web transportWeb = new SendGrid.Web(apiKey);
SendGridMessage msg = new SendGridMessage();
msg.Subject = "...";
msg.AddTo(model.Email);
msg.Html = body;
msg.From = new MailAddress("...");
try
{
await transportWeb.DeliverAsync(msg);
}
catch (Exception e)
{
//e.ToExceptionless().Submit();
ViewBag.ErrorMsg = e.Message;
return View("Error");
}
另外,您使用的是哪个版本的 SendGrid C# 库?确保它是版本 6.3.x 或更高版本。