在本地中能够发送邮箱,部署到阿里云却发不了???
原本的application.properties
邮箱配置
# 邮件协议
spring.mail.protocol=smtp
# 网易邮箱 smtp 服务器地址
spring.mail.host=smtp.163.com
spring.mail.port=25
# 发送人邮箱地址
spring.mail.username=xxxxx@163.com
# 授权码
spring.mail.password=xxxxxxxxxx
# 编码字符集
spring.mail.default-encoding=utf-8
# 开启debug模式用户会完整打印邮件发送过程的日志
spring.mail.properties.mail.debug=true
无需改动前面配置,只需在后面加上
# 以下为配置阿里云服务器发送邮件
spring.mail.properties.mail.smtp.ssl.trust=smtp.163.com
#SSL证书Socket工厂
spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
spring.mail.properties.mail.smtp.socketFactory.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
端口问题:发邮件的SMTP的协议默认是25端口,在网上查询资料发现阿里云是封掉了25端口的
我们只需要把端口号改成465端口,然后给它一个ssl证书即可
qq邮箱同理:
#邮件配置
spring.mail.host=smtp.exmail.qq.com
spring.mail.port=465
spring.mail.username=xxx@qq.com
spring.mail.password=xxx
spring.mail.default-encoding=UTF-8
#配置阿里云服务器发送邮件
spring.mail.properties.mail.smtp.ssl.trust=smtp.exmail.qq.com
spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
spring.mail.properties.mail.smtp.socketFactory.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