阿里云ECS默认禁用25端口导致发邮件失败:Couldn't connect to host, port: smtp.example.com

使用JavaMail发送邮件,用的是阿里云的邮件服务。在本地测试是没有问题,但是上传到阿里云的ecs上就报错:

Couldn't connect to host, port: smtp.majing.io, 25;

原来是阿里云处于安全考虑,TCP 25 端口出方向默认被封禁。

JavaMail使用ssl加密465端口发送邮件

主要是在原来发送邮件的配置上添加ssl,并设置为465端口。

application.properties 中添加 mail 配置

##mail
spring.mail.host=smtp.qq.com
[email protected]
spring.mail.password=kswobplfxaozbfid
#spring.mail.default-encoding=UTF-8
spring.mail.properties.mail.smtp.ssl.enable=true
spring.mail.properties.mail.smtp.ssl.trust=smtp.qq.com
spring.mail.properties.mail.socketFactory.class=javax.net.ssl.SSLSocketFactory
spring.mail.properties.mail.smtp.socketFactory.port=465
spring.mail.properties.mail.smtp.port=465
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true

 

你可能感兴趣的:(SpringBoot)