阿里云服务器 smtpClient发送邮件问题

       前一阵子一个项目  部署到阿里云服务器上的时候 发邮件代码 (用的腾讯企业云邮箱的服务) 出了点问题。但在测试环境下(比较旧的阿里云服务器上)没有问题。然后排查问题发现 比较新的阿里云服务器上把25端口封了。申请解封也是一直提示申请失败,跟客服咨询,客户建议不要开25端口,建议启用465端口,还和我推销阿里云的企业云。。

       然后我就去尝试使用465端口,改成了以下代码:

SmtpClient client = new SmtpClient();
client.Host = smtpUrl;
//以下两句是之前没有的,默认端口是25,现在改成465端口启用SSL加密
client.Port = 465;
client.EnableSsl = true;

client.DeliveryMethod = SmtpDeliveryMethod.Network;
client.UseDefaultCredentials = false;
client.Credentials = new NetworkCredential(userName, passWord);
client.Send("[email protected]", "[email protected]", "Subject", "Body");

    然后再测试环境下测试,结果报以下异常:

System.Exception: cuowu:System.Net.Mail.SmtpException: 发送邮件失败。 ---> System.IO.IOException: 无法从传输连接中读取数据: net_io_connectionclosed。
 在 System.Net.Mail.SmtpReplyReaderFactory.ProcessRead(Byte[] buffer, Int32 offset, Int32 read, Boolean readLine)

仔细检查了以下防火墙、腾讯企业云上的说明,都没什么问题,抓狂,继续在百度上毫无头绪的看看广大群众有什么解决办法。

无意中看到 这个端口疑问解答 发现还有个 587端口,直接把client.Port = 4随意试了一下竟然测试通过了,放到阿里云服务器上,开启一下端口安全规则就OK了。

 

 

 

 

       

 

 

你可能感兴趣的:(刚工作遇到的一些问题)