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

Node应用连接Office365邮件服务器报SmtpClientAuthentication禁用如何解决

报错解决:Office 365 租户 SmtpClientAuthentication is disabled for the Tenant 问题处理

错误信息:SmtpClientAuthentication is disabled for the Tenant

1. 调整Office 365租户/邮箱SMTP AUTH权限

该错误核心原因是微软默认关闭了租户全局的SMTP身份验证权限,你可以按需求选择全局开启或仅开启指定发件账号的权限,操作需要使用Exchange Online PowerShell:

  • 首先安装Exchange Online管理模块,执行连接命令:
    Connect-ExchangeOnline -Organization <你的租户域名>.onmicrosoft.com
  • 查看全局SMTP AUTH开关状态:
    Get-TransportConfig | Format-List SmtpClientAuthenticationDisabled
  • 如果返回值为True,可选择全局开启:
    Set-TransportConfig -SmtpClientAuthenticationDisabled $false
  • 若不需要全局开启,仅给发信用的独立账号开权限:
    Set-CASMailbox -Identity <你的发件人邮箱地址> -SmtpClientAuthenticationDisabled $false

2. GoDaddy托管Office 365额外配置

如果你使用的是GoDaddy托管的Office 365服务,租户会有额外的默认限制:

  • 登录GoDaddy账号,进入微软365管理页
  • 找到你用来发信的邮箱账号,进入「高级设置」页
  • 勾选打开「允许经过身份验证的SMTP」选项,保存后等待10分钟生效

3. Node端配置校验

确保你的Node代码中的SMTP配置符合Office 365要求,以常用的nodemailer库为例,配置参考如下:

const nodemailer = require('nodemailer');

const transporter = nodemailer.createTransport({
  host: 'smtp.office365.com',
  port: 587,
  secure: false, // 587端口使用STARTTLS加密,此处固定为false
  requireTLS: true,
  auth: {
    user: '你的完整发件人邮箱地址',
    pass: '你的邮箱密码/应用密码'
  }
});

注意点:

  • 如果你的发件账号开启了多因素认证(MFA),不能直接用账号密码登录,需要到Azure AD账号安全中心生成专用的应用密码填入配置
  • 可到Azure AD的「登录日志」中查看对应账号的登录失败记录,排查是否有条件访问策略拦截了SMTP认证请求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 07:27:03