首页 > 解决方案 > 臭名昭著的“服务器不支持安全连接”。c#中的异常

问题描述

我有一个难题。我正在尝试使用以下代码片段通过简单的控制台应用程序发送电子邮件(显然删除了实际使用的电子邮件):

private static void sendEmail()
{
   var client = new SmtpClient("smtp.gmail.com", 587)
   {
       Credentials = new NetworkCredential("sender@gmail.com", "myPassword"),
       EnableSsl = true
   };
    
   client.Send("sender@gmail.com", "receiver@gmail.com", "Email Subject", "Some body message");        
}

然后我得到服务器不支持安全连接错误:

Unhandled exception. System.Net.Mail.SmtpException: Server does not support secure connections.
   at System.Net.Mail.SmtpConnection.GetConnection(String host, Int32 port)
   at System.Net.Mail.SmtpTransport.GetConnection(String host, Int32 port)
   at System.Net.Mail.SmtpClient.GetConnection()
   at System.Net.Mail.SmtpClient.Send(MailMessage message)

现在它是一个真正的泡菜的原因是因为我有另一个控制台应用程序,它是我在 2021 年 7 月写的,它使用完全相同的方法(字面意思是我的方法的复制粘贴sendEmail()),它没有任何问题。

当发生此类事情时(在一种环境中工作,但在另一种环境中不起作用),我最初的直觉是清除我的缓存。为我的 Visual Studio 完成了该操作,但不幸的是仍然是相同的结果

尽管知道我的代码可以在一个环境中工作,但我仍然继续尝试了一些 StackOverflow 建议的各种组合,例如:

我的 gmail 帐户打开了“不太安全的应用程序”,我按照Gmail 帮助进行了 POP/IMAP 设置。有问题的 Gmail 帐户不使用双重身份验证。我还遵循了各种建议,似乎是 stackOverflow 上关于这个问题的最新活动线程,没有任何效果。

考虑到相同的设置在另一个控制台应用程序中没有问题,这让我有些吃惊。

任何帮助将不胜感激。

标签: c#.netemailsmtpsmtpclient

解决方案


推荐阅读