无法使用 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");
}

无法使用 Sendgrid 在 Azure Web App 上发送电子邮件

试试这个:

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 或更高版本。