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

Django对接Office 365 SMTP发信报SMTPAuthenticationError如何解决

Django Office 365 SMTP 535认证错误解决方案
  • 修正Django配置项命名错误
    你当前settings.py中的账号密码配置项不符合Django官方规范,Django无法读取到认证信息,需替换为以下正确配置:
EMAIL_HOST = 'smtp.office365.com'
EMAIL_USE_TLS = True
EMAIL_PORT = 587
# 官方要求的认证账号、密码配置项名,不可简写
EMAIL_HOST_USER = 'test@example.com'
EMAIL_HOST_PASSWORD = '你的邮箱认证凭证'
# Office 365强制要求发件人地址与认证账号完全一致,必须配置该项
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
  • 确认单邮箱SMTP权限已开启
    仅开启管理员级别的SMTP权限不会对单独邮箱生效,需进入Microsoft 365管理中心,在「活跃用户」列表中找到发件账号,依次进入「邮件」-「管理电子邮件应用」,勾选「经过身份验证的SMTP」后保存配置。

  • 适配多因素认证(MFA)规则
    如果你的发件账号开启了多因素认证,不能直接使用账号登录密码作为认证凭证,需在账号安全设置中创建专用的应用密码,替换EMAIL_HOST_PASSWORD的取值。

  • 等待权限生效、排除端口限制

    1. 刚修改的SMTP权限存在15~60分钟的延迟生效期,修改后请等待一段时间再测试
    2. 确认你的服务器出口未封禁587端口,多数云服务商默认封禁25端口的出站请求,不要使用25端口对接Office 365 SMTP服务

你可以使用以下代码快速验证配置是否生效:

from django.core.mail import send_mail

# 测试发送邮件
send_mail(
    subject='SMTP配置测试',
    message='这是一封测试邮件,代表你的SMTP配置已生效',
    recipient_list=['接收测试邮件的邮箱地址'],
    fail_silently=False
)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 12:09:01