标题
java.net.ConnectException: Connection timed out (Connection timed out).
Failed messages: com.sun.mail.util.MailConnectException:
Couldn't connect to host, port: smtp.qiye.aliyun.com, 25; timeout -1;
如图,最近在公司做了一个定时发送邮件的服务,结果测试时发现邮件迟迟无法发送,排查日志后发现报 25 端口连接超时,搜索后发现这个端口是阿里云在2016年9月后的服务器默认给ban了,网上一般说有两种方法,第一种主动申请解封,我觉着太麻烦时间还长,所以采用了第二种方法,废话不多说直接上代码。
#这是原来的配置
spring.mail.host=smtp.qiye.aliyun.com
spring.mail.username=#用户名
spring.mail.password=#xxxxx
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
#现在加入三行配置即可
#端口设置465
spring.mail.port=465
#设置ssl协议和端口
spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
spring.mail.properties.mail.smtp.socketFactory.port=465
通过测试后,成功运行!