Spring Mail发送邮箱提醒504错误

笔者在开发Spring Boot社区项目时,用到了Spring Mail来发用身份验证邮件,在本地(Windows)功能能够正常使用,部署到阿里云时无法正确发送邮件,具体原因及解决方法如下。


版权声明:本文为博主原创文章,禁止转载
作者博客:codesong.cn
created: 2019-12-30


Spring Mail配置

# MailProperties
spring.mail.host=smtp.sina.com
#spring.mail.port=465
spring.mail.username=username@sina.com  
spring.mail.password=d669000000000000
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向用户发送一封验证邮件。然而部署到阿里云服务器后,页面等待60s(nginx设置超时时间为3次30秒)后提醒504 Gateway Timeout*错误,说明服务器没有正确处理请求。

解决方法

查看日志发现spring mail授权错误,无法连接邮箱:

org.springframework.mail.MailAuthenticationException: Authentication failed

查阅资料后发现阿里云已禁用邮箱25端口,使用465端口发送邮件,因此需要在阿里云控制台安全组中开放465端口,再次测试问题解决。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容