阿里云25端口封禁解决

使用JavaMail发送邮件在阿里云服务器邮件发送失败

问题发现

问题产生: SpringBoot使用JavaMail发送邮件,本地测试是可以通过的,但项目部署到阿里云服务器后就不行了

问题原因: 阿里云处于安全考虑,TCP25端口出方向默认被封禁.

问题解决

对于阿里云线上服务器, 需要将邮箱的配置改为ssl加密465端口发送. application.properties配置文件中增加下面配置

旧版配置

1
2
3
4
spring.mail.host=smtp.qq.com
spring.mail.port=25
spring.mail.username=邮箱账号
spring.mail.password=邮箱密码

新版配置

1
2
3
4
5
6
7
8
9
10
spring.mail.host=smtp.qq.com
spring.mail.username=邮箱账号
spring.mail.password=邮箱密码
spring.mail.default-encoding=UTF-8
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.timeout=25000
spring.mail.properties.mail.smtp.ssl.enable=true
spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
spring.mail.properties.mail.smtp.socketFactory.port=465
spring.mail.properties.mail.smtp.port=465