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

Spring Boot本地测试邮件:已投递至服务器但未收到

邮件发送成功但未收到的排查方案

本地使用Spring Boot进行邮件测试,application.properties配置如下:

spring.mail.host=mail.abc.com
spring.mail.port=25
spring.mail.username=manager@abc.com
spring.mail.password=password

调试模式运行代码时,日志显示“DEBUG SMTP: message successfully delivered to mail server”,但并未收到邮件。

  • 检查邮件是否进入垃圾箱/分类文件夹
    多数邮箱系统会将陌生发件人、批量发送的邮件自动归类到垃圾箱、订阅邮件或其他过滤文件夹,优先去这些位置查找,不要只看收件箱。

  • 验证收件人地址准确性
    确认代码中指定的收件人邮箱无拼写错误,比如域名后缀错误、用户名少打字符等低级错误。

  • 查询邮件服务器的投递日志
    联系公司邮件服务器管理员,调取manager@abc.com账号的发送日志。Spring日志仅表明邮件成功投递到本地SMTP服务器,但服务器向收件方邮箱转发的环节可能出现拒收、域名解析失败等问题,这些只有服务器日志能查到。

  • 排查邮件内容是否触发反垃圾规则
    若邮件标题或内容包含敏感词汇(如“中奖”“转账”“免费”)、或内容过于空洞无实质信息,很可能被收件方邮件系统拦截。可以发送一段简单的测试文本(如“这是一封Spring Boot测试邮件”)重新尝试。

  • 完善SMTP配置并开启详细日志
    当前配置仅包含基础参数,建议补充配置以开启更详细的调试信息,同时确认是否需要加密传输:

    # 开启更详细的邮件调试日志
    logging.level.org.springframework.mail=DEBUG
    logging.level.com.sun.mail=DEBUG
    # 若服务器要求STARTTLS加密,添加以下配置(适配25/587端口)
    spring.mail.properties.mail.smtp.starttls.enable=true
    spring.mail.properties.mail.smtp.ssl.trust=mail.abc.com
    

    部分25端口的服务器会强制要求加密传输,未开启的话邮件可能被标记为不安全,后续投递被拦截。

  • 测试发送到不同类型邮箱
    分别尝试发送到公司内部邮箱和外部个人邮箱(如QQ、网易邮箱):

    • 若内部能收到、外部收不到,大概率是公司邮件服务器的出站规则限制了对外发送;
    • 若都收不到,重点排查邮件服务器本身的投递能力或配置问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 06:00:06