C# Gmail 连接失败,因为连接的主机无法响应



我正在尝试使用以下代码从服务器使用我的gmail帐户发送邮件。

var fromAddress = new MailAddress("xxxxx@gmail.com", "xxxxxx");
var toAddress = new MailAddress(toMailAddress);
const string fromPassword = "xxxxx";
var smtp = new SmtpClient
{
Host = "smtp.gmail.com",
Port = 587,
EnableSsl = true,
DeliveryMethod = SmtpDeliveryMethod.Network,
UseDefaultCredentials = false,
Credentials = new NetworkCredential(fromAddress.Address, fromPassword)
};
using (var message = new MailMessage(fromAddress, toAddress)
{
IsBodyHtml = true,
Subject = mailSubject,
Body = htmlBody
})
{
smtp.Send(message);
}

当我在我的 Windows 服务器上部署它时,这会给出下一个结果,尽管我在防火墙上有一个端口 587 的 Inobound 规则。当我在本地测试它时,它工作得很好

连接失败

我也遇到过这个问题。实际上,Gmail不允许访问Gmail以发送安全性较低的应用程序的邮件。 执行以下步骤: 如果您遇到类似

"An unhandled exception of type 'System.Net.Mail.SmtpException' occurred in System.dll
Additional information: The SMTP server requires a secure connection or the 
client was not authenticated. The server response was: 5.5.1 Authentication Required. Learn more at"
  1. 转到您的谷歌帐户"我的帐户"。
  2. 在"登录和安全"下,转到底部,您将找到"允许安全性较低的应用程序:关闭",您需要通过单击旁边的按钮将其打开。
  3. 现在,您的Gmail帐户可以从您的代码中访问。

最新更新