云服务器上mail发送超时

问题

没事做了个定时任务,定时给自己发邮件提示某些接口获取到的信息,结果本地调试正常,发到服务器上发现都是发送邮件超时

1
发送邮件报错:Could not connect to SMTP host: smtp.qq.com, port: 25

解决方案

修改发送端口,阿里 和腾讯都把25 端口关闭了.发送需要使用其他端口. 465

1
2
3
4
5
6
7
properties.setProperty("mail.smtp.auth", "true");//开启认证
properties.setProperty("mail.debug", "true");//启用调试
properties.setProperty("mail.smtp.timeout", "1000");//设置链接超时
properties.setProperty("mail.smtp.port", "465");//设置端口
properties.setProperty("mail.smtp.socketFactory.port", "465");//设置ssl端口
properties.setProperty("mail.smtp.socketFactory.fallback", "false");
properties.setProperty("mail.smtp.socketFactory.class", "javax.net.ssl.SSLSocketFactory");
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
mail:
host: smtp.qq.com
username: xxx.com
password: xxx
properties:
mail:
smtp:
post: 465
socketFactory:
port: 465
fallback: false
class: javax.net.ssl.SSLSocketFactory
auth: true
starttls:
enable: true
required: true