使用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
spring.mail.username=756271970@qq.com
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