最近通过springboot 程序实现阿里云发送邮件问题,本地测试没有问题,部署到服务器上就报如下错误:
com.sun.mail.util.MailConnectException: Couldn't connect to host, port: smtp.qq.com, 25; timeout -1;
经过查找资料得知,阿里云处于安全考虑,TCP 25 端口出方向默认被封禁。
解决方法是邮箱的配置改为ssl加密465端口。
application.yml的配置如下:
spring:
mail:
host: smtp.qq.com
username: 邮箱
password: 密钥
properties:
mail:
smtp:
auth: true
timeout: 25000
ssl.enable: true
socketFactory.class: javax.net.ssl.SSLSocketFactory
starttls.enable: true
socketFactory.port: 465
port: 465