Java Spring应用Gmail发信正常,OVH配置无法收邮件求助
OVH SMTP配置无报错但收不到邮件的排查方案
以下是针对你遇到的问题的可能原因及具体排查步骤:
1. 端口与加密方式不匹配
你当前用的是587端口+STARTTLS,但OVH的SMTP服务也支持465端口(SSL直连),两种加密方式的配置逻辑不同:
- 若切换到465端口,需要修改配置:
spring: mail: port: 465 properties: mail: smtp: ssl: enable: true starttls: enable: false required: false - 重启应用后测试发送,看是否能收到邮件。
2. 邮件被拦截或归入垃圾邮件
- 先检查收件方的垃圾邮件/垃圾箱,很多时候邮件没丢只是被归类了;
- 登录OVH的邮件管理后台,查看「发送日志」或「邮件队列」,确认邮件是否被OVH服务器滞留、拒收,或者触发了反垃圾机制(比如新账号发送频率过高);
- 若发送日志显示邮件已成功投递,问题大概率在收件方的邮箱过滤规则。
3. 发件人地址与账号不匹配
OVH的SMTP服务通常要求发件人邮箱必须和登录的username一致:
- 检查你代码中设置的
from地址是否为mail@domain-ovh.fr,如果用了其他地址(比如自定义的noreply@xxx.com),可能被服务器静默拒绝; - 确保
username是OVH后台已创建的有效邮箱,密码没有输入错误(注意特殊字符转义)。
4. 本地网络限制
虽然Gmail能发送,但OVH的SMTP端口可能被本地防火墙、路由器或公司网络拦截:
- 切换到手机热点网络测试发送,排除本地网络的问题;
- 检查本地防火墙是否允许应用访问
ssl0.ovh.net的587或465端口。
5. 启用JavaMail调试日志排查细节
test-connection: true只验证连接通不通,不代表邮件能成功投递。开启调试日志能看到完整的发送交互过程:
- 在配置中添加:
spring: mail: properties: mail: debug: true - 重启应用后发送邮件,查看控制台日志,重点看服务器返回的响应码和提示信息,比如是否有投递失败的隐藏错误。
6. 域名的邮件认证配置缺失
如果你的域名没有配置DKIM、SPF、DMARC记录,收件方服务器会判定邮件为伪造:
- 登录OVH域名管理后台,检查DNS记录:
- SPF记录要包含OVH的SMTP服务器地址;
- DKIM密钥需在OVH邮件后台生成并添加到DNS;
- DMARC记录建议设置为
v=DMARC1; p=none; sp=none; rua=mailto:dmarc@domain-ovh.fr(先监控再逐步严格)。
内容的提问来源于stack exchange,提问作者BabC
相关产品推荐
相关产品推荐

