项目中使用了JavaMail发送邮件,在本地测试无任何问题,但是上传到阿里云服务器上就报错:
com.sun.mail.util.MailConnectException: Couldn't connect to host, port: smtp.qq.com, 25; timeout -1;
原因:阿里云出于安全考虑默认禁用25端口导致发邮件失败
解决办法:
配置文件中(根据自己的情况设置):
#JavaMailSender
spring.mail.host=smtp.qq.com
spring.mail.username=qq邮箱账号
#QQ??
spring.mail.password=授权码
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
spring.mail.default-encoding=UTF-8
#指定端口 # SSL端口465、994,非SSL端口25
spring.mail.port=465
# 非SSL是 smtp
spring.mail.protocol=smtps