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

Spring Boot使用无认证微软SMTP发邮件报认证失败异常

问题根因

Spring Boot的JavaMail自动配置默认把SMTP认证开关设为开启,哪怕你用的SMTP服务器本身不需要账号密码,客户端还是会主动走认证流程,才会报这个没密码的认证失败错。

解决方法

不用改业务代码,只要在application.properties里补两行配置,关掉默认的认证和不必要的TLS协商就行,改完的完整配置:

spring.mail.host=1.1.1.1
spring.mail.port=25
# 关闭SMTP认证,适配免密访问的SMTP中继
spring.mail.properties.mail.smtp.auth=false
# 关闭25端口默认的STARTTLS握手,避免额外协商失败
spring.mail.properties.mail.smtp.starttls.enable=false

改完重启应用就可以正常发邮件。

排错补充

如果改完配置还是连不上,先测下应用所在服务器到SMTP服务器25端口的网络通不通,确认防火墙、安全组没有拦截25端口的出流量就行。

内容的提问来源于stack exchange,提问作者eboi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 23:03:24