You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SpringBoot项目部署在VPS服务器Tomcat中邮件发送认证问题求助

SpringBoot项目部署在VPS服务器Tomcat中邮件发送认证问题求助

各位大佬好,我最近碰到个棘手的问题:我的SpringBoot项目在本地Tomcat上跑起来完全没问题,但部署到VPS上的Tomcat后,就卡在邮件发送的认证环节了,项目直接报错。

先给大家贴一下我从服务器日志里抓的关键内容(用tail -f命令跟踪/opt/tomcat/logs/catalina.out得到的):

root@api:~# tail -f /opt/tomcat/logs/catalina.out
        at javax.mail.Service.connect(Service.java:342) ~[jakarta.mail-1.6.7.jar:1.6.7]
        at org.springframework.mail.javamail.JavaMailSenderImpl.connectTransport(JavaMailSenderImpl.java:518) ~[spring-context-support-5.3.20.jar:5.3.20]
        at org.springframework.mail.javamail.JavaMailSenderImpl.doSend(JavaMailSenderImpl.java:437) ~[spring-context-support-5.3.20.jar:5.3.20]
        ... 62 common frames omitted

2024-07-20 07:07:10.890 DEBUG 561029 --- [nio-8080-exec-9] o.s.web.servlet.DispatcherServlet        : "FORWARD" dispatch for POST "/global/error", parameters={}

从栈跟踪信息能看出来,核心问题出在javax.mail.Service.connect方法的认证环节,也就是连接邮件服务器的时候失败了。我自己琢磨了几个可能的原因,但还没找到确切的问题点:

  • VPS的防火墙或者安全组没开放邮件服务需要的端口(比如SMTP常用的25、465、587端口),导致无法和邮件服务器建立连接
  • 邮件服务商的反垃圾策略把我这个VPS的IP标记成了可疑地址,直接拒绝了认证请求
  • 服务器上的邮件配置(比如application.properties/application.yml里的用户名、密码、SMTP地址)和本地环境不一致,或者密码里的特殊字符在服务器环境中解析出了问题
  • Tomcat的类加载冲突,服务器上自带的Jakarta Mail版本和我项目依赖的版本不兼容

有没有前辈碰到过类似的情况?麻烦给我分享下排查思路或者解决方案,真的非常感谢!

备注:内容来源于stack exchange,提问作者Manoj T J

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 09:44:38