问题描述:
在本地邮件可以正常的发送,在阿里云上线后系统报错请求超时。
原因:
阿里云Centos7是默认封禁了TCP 25端口出方向的访问流量,所以用户无法使用25号端口邮件服务,使用25端口进行简单邮件发送是会报连接超时的错误。
解决方案:
改用更安全更推荐的465端口进行邮件发送
在参考了网上诸多大佬的文章后,发现SpringBoot可以直接在配置文件中进行配置
【SpringBoot】处理异步、邮件、定时任务(解决了阿里云服务器 Mail server connection failed 异常)
因为我使用的是QQ邮箱作为发送方,使用465端口依旧存在问题,查找相关问题后解决方案是换另一个端口
完整配置文件
spring:
mail:
host: 'smtp.qq.com'
username: '邮箱地址'
password: '密码'
properties:
mail:
stmp:
auth: true
starttls:
enable: true
required: true
ssl:
enable: true
socketFactory:
port: 587
class: javax.net.ssl.SSLSocketFactory
port: 587
protocol: smtp
default-encoding: utf-8
经过一番测试,终于在阿里云上成功发送: