错误:无法从传输连接net_io_connectionclosed读取数据

本文关键字:io connectionclosed 读取 数据 net 连接 传输 错误 | 更新日期: 2023-09-27 17:59:40

我使用mandrill发送邮件,但当我尝试发送邮件时,出现错误"无法从传输连接net_io_connectionclosed读取数据"。错误只是偶尔发生。

错误:无法从传输连接net_io_connectionclosed读取数据

尝试端口587而不是465。端口465在技术上已弃用。

.NET SmtpClient仅支持通过STARTTLS进行加密。如果设置了EnableSsl标志,则服务器必须使用STARTTLS响应EHLO,否则将引发异常。有关更多详细信息,请参阅MSDN文档。

其次,为那些在未来偶然发现这个问题的人上一堂快速的SMTP历史课:

以前,当服务也想提供加密时,他们会被分配一个不同的端口号,并在该端口号上立即启动SSL连接。随着时间的推移,他们意识到为一个服务浪费两个端口号是愚蠢的,他们为服务设计了一种方法,允许使用STARTTLS在同一端口上进行明文和加密。通信将使用明文开始,然后使用STARTTLS命令升级到加密连接。STARTTLS成为SMTP加密的标准。不幸的是,当实现一个新标准时,总是会发生这种情况,与所有客户端和服务器的兼容性都是大杂烩。

在我的案例中,我的用户试图将软件连接到强制立即SSL连接的服务器,这是Microsoft在.NET中不支持的传统方法。