我正在尝试使用 SendGrid 的免费 SMTP 中继从我的 ASP.NET 应用程序发送电子邮件。我可以连接到服务器,但当我尝试进行身份验证时,收到此错误:“SMTP 服务器意外断开连接。”
using (var client = new SmtpClient())
{
client.ServerCertificateValidationCallback =
(sender, certificate, certChainType, errors) => true;
client.AuthenticationMechanisms.Remove("XOAUTH2");
// connection
client.Connect("smtp.host", 465, true);
client.Authenticate("UserName", "Password");//error occurs here
client.Send(email);
client.Disconnect(true);
}
再次,我可以毫无问题地连接,但是当我尝试进行身份验证时,我收到前面提到的错误...
有什么建议吗?
干杯
我过去曾多次遇到此问题(包括今天),并且始终是由于 SendGrid 的 IP 访问拒绝发送邮件的尝试所致。所以这实际上主要是对我自己的一个提醒,因为我总是回到这里! :)
在此处检查 IP 访问https://app.sendgrid.com/settings/access
我解决了从 SendGrid 更改为 Google 为所有用户提供的免费 SMTP 服务的问题。只需按照此处的步骤操作即可 你应该可以走了!
就我而言,这是我自己为 IIS smtp 设置的安全级别中的 IP 地址问题。
因为我的公司有一个允许连接和中继的 IP 白名单,所以我在家工作时忘记为我的 VPN 隧道设置 IP。
在连接中允许我的笔记本电脑 IP 并在 IIS SMTP 上中继首选项后,我消除了错误。