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

使用Nodemailer结合Mailgun发邮件时535认证失败如何解决?

解决Nodemailer + Mailgun 535 Authentication failed错误

核心排查点(针对Mailgun平台)

  • 确认SMTP凭证类型:Mailgun的SMTP_USER固定为postmaster@<你的已验证域名>,SMTP_PASS是该域名对应的SMTP密钥,不是你的Mailgun账户登录密码,二者完全不同。
  • 检查域名验证状态:登录Mailgun后台,进入对应域名的设置页,确认DKIM、SPF、MX记录已完成DNS验证,未验证的域名会被拒绝SMTP请求。
  • 核对SMTP服务器配置:
    • 服务器地址必须是smtp.mailgun.org
    • 端口优先用587(TLS模式,对应Nodemailer配置secure: false),或465(SSL模式,对应secure: true),不要使用其他端口。
  • 检查IP白名单限制:若你的Mailgun账户开启了IP白名单,需确保应用服务器的公网IP已添加到白名单中(路径:Mailgun后台 → Security → IP Whitelist)。
  • 测试凭证有效性:用命令行直接验证SMTP凭证,排除代码层面问题:
    curl -v smtp://smtp.mailgun.org:587 --mail-from postmaster@yourdomain.com --mail-to test@example.com --user 'postmaster@yourdomain.com:your_smtp_password'
    
  • 检查Nodemailer配置细节:确保auth参数无多余空格、特殊字符未被转义,正确配置示例:
    const transporter = nodemailer.createTransport({
      host: 'smtp.mailgun.org',
      port: 587,
      secure: false,
      auth: {
        user: 'postmaster@yourdomain.com', // 必须是postmaster开头的域名邮箱
        pass: 'your_mailgun_smtp_secret'   // 域名的SMTP密钥,非账户密码
      }
    });
    
  • 查看Mailgun官方日志:登录Mailgun后台的Logs页面,查看具体的拒绝原因,日志会给出比Nodemailer更详细的认证失败信息(比如IP被拦截、凭证无效等)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 22:15:27