之前使用华为云,用java发送邮件完全没有问题。前天换成阿里云后,在本地可以完美发送邮件,我把它部署在阿里云上后,邮件怎么都发不出去,用谷歌浏览器查看,报:Provisional Headers are Shown。
经过多方努力,查到了:
阿里云默认封了25号端口,而25号端口是多数邮件服务器的默认端口,所以会无法发送。
这个25号端口可以解封,不过我也申请了被拒绝了:
可能是出于安全的原因,使用ssl加密方式,使用465端口。好吧,我们先来看腾讯qq邮箱开发的端口:
那我们就对之前使用java发送邮件(详细请参见:https://blog.csdn.net/weixin_41060905/article/details/88857171)的工具类进行修改:
加上:
//设置使用的端口
props.setProperty("mail.smtp.port","465");
//允许ssl
props.setProperty("mail.smtp.ssl.enable","true");
这样就解决了问题了!