阿里云服务器发送邮箱报错 Could not connect to SMTP host: smtp.qq.com, port: 25, response: -1

在之前一篇博客中:通过javax.mail实现java程序发送邮件功能(示例QQ邮箱),通过javax.mail确实可以做到发送简单邮件的功能,但是当我们将它部署在阿里云服务器中(这里我使用的是阿里云的轻量级服务器),就会莫名出现Could not connect to SMTP host: smtp.qq.com, port: 25, response: -1这样的错误。

在网上找了比较多的技术贴,发现是阿里云服务器将25端口禁用了。至于为什么禁用25端口,答案好像是ECS基于安全考虑,对垃圾邮箱进行了管理和规范,才禁用的。。等等。。。。。具体不详谈了。

当然能封禁25端口,也就可以解封啦,下面呈上解封教程地址:https://yq.aliyun.com/articles/701303

除了解封,也可以考虑SSL加密SMTP通过465或者587端口进行发件。我这边是通过465端口成功了,没有尝试587,如果465不成功小伙伴也可以考虑587来实现。这样阿里云是不会拦截的。

怎样使用呢?  需要给你的程序中加入以下代码(我这里使用的是QQ邮箱,其他邮箱大致类似):

//使用SSL加密SMTP通过465端口进行邮件发送
MailSSLSocketFactory sf = new MailSSLSocketFactory();
sf.setTrustAllHosts(true);
props.put(
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值