You need to enable JavaScript to run this app. Python通过Office365 SMTP Relay发信报SMTP AUTH扩展不支持错误如何解决?
优惠活动
大模型
产品
解决方案
定价
更多

Python通过Office365 SMTP Relay发信报SMTP AUTH扩展不支持错误如何解决?

你遇到的报错核心是Office 365 SMTP中继(选项3)采用IP信任机制,本身不支持SMTP AUTH身份验证,你代码中调用的s.login()方法和该服务的运行逻辑冲突,是报错的直接原因。

需要调整的配置及代码:

  • 先确认基础配置正确:
    • 你配置的是Microsoft 365入站连接器,且已正确将运行Python脚本的设备公网IP添加到连接器的允许IP列表
    • 发件人所用域名是你租户内已完成验证的域名,SPF记录已正确添加对应IP段
  • 调整Python代码,删除所有s.login()相关逻辑,该中继模式不需要账号密码验证,直接通过IP信任完成鉴权
  • 修正后的代码示例:
import smtplib
from email.mime.text import MIMEText

# 构造邮件
content = MIMEText("测试邮件内容")
content["Subject"] = "SMTP中继测试"
content["From"] = "john@XXMYMAILXX.com"
content["To"] = "目标收件人地址"

# 连接中继服务发信
with smtplib.SMTP("XXMYMAILXX-com.mail.protection.outlook.com.", 25) as server:
    server.starttls()
    # 无需调用login方法
    server.sendmail(content["From"], [content["To"]], content.as_string())

额外校验项(如果调整代码后仍有问题):

  • 确认发件人地址没有使用Outlook/Office 365公共域名,必须使用你租户的自定义验证域名
  • 确认你的设备公网IP没有被Microsoft 365反垃圾邮件规则拦截,没有处于动态IP池内
  • 确认25端口出网没有被你本地服务器运营商或防火墙拦截

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 01:51:04