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

Microsoft 365 Business Basic SMTP认证失败排查求助

自定义Microsoft 365企业邮箱SMTP认证失败排查与解决

我使用自定义域名的Microsoft 365企业邮箱账号 myemail@secretdomain.ca,通过以下Python代码发送邮件时遭遇SMTP认证失败,无法投递:

import smtplib, ssl

port = 587  # For starttls
smtp_server = 'smtp.office365.com'
sender_email = 'myemail@secretdomain.ca'
receiver_email = 'receiver@hotmail.ca'
password = 'mysecretpassword'
message = """\
Subject: Hi there

This message is sent from Python."""

context = ssl.create_default_context()
with smtplib.SMTP(smtp_server, port) as server:
    server.ehlo()  # Can be omitted
    server.starttls(context=context)
    server.ehlo()  # Can be omitted
    server.login(sender_email, password)
    server.sendmail(sender_email, receiver_email, message)

报错信息如下:

smtplib.SMTPAuthenticationError: (535, b'5.7.139 Authentication unsuccessful, the request did not meet the criteria to be authenticated successfully. Contact your administrator

已尝试的排查步骤:

  • 确认邮箱账号和密码无误
  • 更换为普通Outlook/Hotmail账号(同步修改SMTP服务器为smtp-mail.outlook.com)后代码正常运行,排除防火墙及代码本身问题
  • 通过Outlook客户端设置→邮件→同步邮件→SMTP设置验证配置正确性
  • 在Exchange管理中心取消勾选「设置→邮件流→关闭SMTP AUTH协议」
  • 在活动用户详情中勾选「邮件→托管邮件应用→已验证SMTP」
  • 确认该账号已禁用多因素认证,无需使用应用密码
  • 添加了从组织邮件服务器到Office 365的连接器,覆盖域名*.secretdomain.ca

可能的问题点及解决方法:

  1. 单个用户SMTP AUTH权限未启用
    全局SMTP AUTH开启不代表单个用户权限默认启用。进入Exchange管理中心→收件人→邮箱→找到myemail@secretdomain.ca→邮箱功能→邮件流设置→SMTP AUTH,确认状态为「启用」,若为禁用则修改为启用。

  2. 发送IP被Office 365安全策略拦截
    Office 365会拦截非信任IP的SMTP登录请求:

    • 将发送邮件的服务器IP添加到Exchange管理中心→保护→连接筛选器→IP允许列表
    • 检查Azure AD条件访问策略,确认没有针对SMTP协议的IP或设备限制规则
  3. Azure AD安全默认值限制传统认证
    即使禁用MFA,Azure AD安全默认值可能仍阻止SMTP这类传统认证协议。进入Azure门户→Azure Active Directory→属性→管理安全默认值,确认是否关闭了安全默认值(开启状态下传统认证会被限制)。

  4. 连接器配置方向错误
    若直接使用企业邮箱通过SMTP发送,无需添加「从组织服务器到Office 365」的连接器,反而要检查是否有反向连接器设置错误,或连接器的IP限制规则是否排除了当前发送IP。

  5. 密码特殊字符编码问题
    若密码包含@、!等特殊字符,直接传入Python代码可能出现编码异常。可以尝试用urllib.parse.quote()编码密码后再传入server.login(),或更换不含特殊字符的测试密码验证。

  6. 区域SMTP服务器适配问题
    尝试更换SMTP服务器为对应区域端点,比如北美区域可使用smtp.outlook.com(与smtp.office365.com功能一致,但部分场景下兼容性不同),或根据账号所属Exchange Online区域选择对应SMTP地址。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.28 19:33:28