Spring Mail发送邮箱时提示504错误
做项目时用到了Spring Mail来发用身份验证邮件,在本地(Windows)功能能够正常使用,部署到阿里云时无法正确发送邮件,具体原因及解决方法如下:
Spring Mail配置
# MailProperties
spring.mail.host=smtp.163.com
spring.mail.username=XXXXX@163.com
spring.mail.password=XXXXXXXXX
spring.mail.port=465
spring.mail.protocol=smtps
spring.mail.properties.mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory
在社区注册功能页面,用户输入邮箱并点击注册按钮后,服务器应通过spring mail向用户发送一封验证邮件。然而部署到阿里云服务器后,页面等待60s(nginx设置超时时间为3次30秒)后提醒504 Gateway Timeout*错误,说明服务器没有正确处理请求。
解决方法
使用SSL协议并将端口调整为465端口。下面详细说一下.
端口设置为465、开启ssl协议类型为smtp (在阿里云部署需要配置出入规则的465端口。我是把出和入的端口都打开了)按照这个配置是能在阿里云调用通的
我刚开始没有配置 端口设置为465、开启ssl、协议类型为smtp 在本地可以调通能发邮件,到阿里云服务器不行