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

使用Nodemailer发送邮件后收件方未收到邮件的排查求助

Nodemailer显示发送成功但收件方未收到邮件排查

问题详情

控制台输出:

正在发送邮件 c188880-8889928-1149-89243441014@example.com 至 example@gmail.com

我的Transport配置:

nodemailer.createTransport({
    name: "mail.example.com",
    host: "mail.example.com",
    port: 587,
    secure: false, 
    auth: {
      user: "reminders@example.com",
      pass: PASSWORD, // 已隐藏密码
    },
    logger: true,
    tls: {
      rejectUnauthorized: false,
    },
  });

transporter.sendMail()返回的成功数据:

{
  accepted: [ 'example@gmail.com' ],
  rejected: [],
  envelopeTime: 2111,
  messageTime: 842,
  messageSize: 28925,
  response: '250 OK id=198wlQ-exatqE-Lz',
  envelope: {
    from: 'reminders@example.com',
    to: [ 'example@gmail.com' ]
  },
  messageId: '<ccddd9-8311-795e-00c1-7a43f27b6b70@example.com>'
}

该功能之前正常运行,目前无明显变更,但收件方未收到邮件,已检查垃圾/垃圾箱。

排查步骤

  • 查邮件服务器投递日志:从返回的250 OK id=198wlQ-exatqE-Lz可知,你的邮件服务器已接收邮件并生成投递ID。登录mail.example.com服务器,查看对应投递日志(如Postfix的/var/log/mail.log),搜索该ID,确认服务器是否转发给Gmail的MX服务器,以及是否收到Gmail回执。
  • 验证域名SPF/DKIM/DMARC记录:
    • SPF:确保example.com的SPF记录包含邮件服务器mail.example.com的IP,避免被Gmail判定为伪造发件人;
    • DKIM:检查是否配置了DKIM签名,可通过Nodemailer的dkim选项添加,或确认邮件服务器是否自动签名;
    • DMARC:查看域名DMARC记录是否设为quarantine或reject,若近期新增该规则可能导致邮件被拦截。
  • 测试发送至非Gmail邮箱:尝试发送到Outlook、QQ等其他邮箱,若能收到则问题出在Gmail反垃圾规则;若仍收不到,问题大概率在你的邮件服务器或配置。
  • 修复TLS证书验证设置:你关闭了rejectUnauthorized,可能导致Gmail标记你的服务器为不安全。建议配置合法SSL证书(如Let's Encrypt免费证书),然后开启rejectUnauthorized: true。
  • 排查Gmail隐藏文件夹:个人版Gmail可在搜索框输入in:all <邮件ID>或in:all example@gmail.com,确认邮件是否被隐藏在其他文件夹;企业版可通过管理后台查看投递状态。
  • 检查邮件内容触发过滤:若邮件包含大量链接、敏感词、风险附件(如可执行文件),或主题过于营销化,可能被Gmail反垃圾系统拦截,且不会进入垃圾箱。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 14:48:22