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

Nodemailer对接GoDaddy Office365邮箱遇535认证失败求解决方案

解决GoDaddy绑定Office 365邮箱用Nodemailer发邮件535认证失败的思路

给你几个实际可操作的排查方向,你可以一步步来验证:

  • 检查两步验证与应用密码:如果你的Office 365账户开启了两步验证,直接用原密码肯定会认证失败。这种情况下,你需要登录Office 365账户,在安全设置里生成一个应用专用密码,然后把代码里的pass替换成这个应用密码——这是最常见的踩坑点。

  • 修正Nodemailer的SMTP配置:Office 365的SMTP标准配置应该是这样的,你可以替换掉之前的配置试试:

    const mailerConfig = {
      host: 'smtp.office365.com',
      port: 587,
      secure: false, // 587端口用STARTTLS,不需要旧参数secureConnection,改用secure即可
      auth: {
        user: 'user@domain.com',
        pass: '你的密码/应用密码'
      },
      tls: {
        minVersion: 'TLSv1.2', // Office 365要求至少TLS 1.2,强制这个版本避免兼容性问题
        rejectUnauthorized: false // 临时关闭证书验证排查问题,确认正常后建议改回true
      }
    };
    

    注意:secureConnection是Nodemailer的旧参数,现在已被secure替代;587端口必须设置secure: false,因为它依赖STARTTLS升级加密连接。

  • 确认Office 365租户的SMTP权限:登录Office 365管理员后台,检查你的账户是否被允许使用SMTP客户端访问:

    1. 进入「Exchange管理员中心」->「收件人」->「邮箱」
    2. 找到你的账户,在「邮件功能」里确认「POP3和IMAP4」已开启,且SMTP访问未被限制
  • 排查密码与账户状态:

    • 确认密码输入无误,包括大小写、特殊字符(如果密码里有@或\这类字符,在代码里要用双引号包裹或转义)
    • 登录Outlook网页版测试账户是否能正常登录,排除账户被临时锁定的可能
  • 用工具测试SMTP连接(排除代码问题):先脱离Node.js代码,用telnet手动测试SMTP认证:

    1. 执行telnet smtp.office365.com 587
    2. 输入EHLO yourdomain.com
    3. 输入STARTTLS
    4. 输入AUTH LOGIN
    5. 输入base64编码的用户名(比如用echo -n user@domain.com | base64生成)
    6. 输入base64编码的密码
      如果这步认证失败,说明问题出在账户或Office 365配置,而非Nodemailer代码;如果成功,再回头检查代码的配置细节。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 08:57:58