概述:
spring mail配置如下,以springboot整合spring mail为例:
spring.mail.host=smtp.163.com
spring.mail.username=xxxxxxxxx@163.com
spring.mail.password=xxxxx //授权码,不是登录密码
# 开启验证
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
spring.mail.properties.mail.smtp.starttls.required=true
这个配置在本地使用完全没有问题,发送正常.
但是部署到阿里云ECS服务器上后台报错连接不到SMTP.163.COM.
原因:
原因为阿里云ECS服务器默认禁用25端口,而我们就是要使用这个端口. 禁用自然是有道理的,所以我们改用163的465端口,465端口是smtp.163.com的SSL协议端口,如图:
服务器名称 | 服务器地址 | SSL协议端口号 | 非SSL协议 端口 |
---|---|---|---|
SMTP | smtp.163.com | 465/994 | 25 |
加入配置如下:
spring.mail.port=465
单单加入这一行配置还是不行的,需要配置开启SSL访问方式:
spring.mail.properties.mail.smtp.ssl.enable=true
至此,服务器可以正常发送邮件了.