阿里云服务器 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("from@email.com", "to@email.com", "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了。

 

 

 

 

       

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值