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

Django使用GoDaddy邮箱发邮件触发SMTPAuthenticationError问题

Django配置Office 365 SMTP发送邮件认证失败解决指南

现有邮件配置

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.office365.com'
EMAIL_HOST_USER = 'email@website.com'
DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
EMAIL_HOST_PASSWORD = "password"
EMAIL_PORT = 587
EMAIL_USE_SSL = False
EMAIL_USE_TLS = True

触发的错误信息

SMTPAuthenticationError at /contact-ajax
(535, b'5.7.139 Authentication unsuccessful, SmtpClientAuthentication is disabled for the Tenant. [BYAPR02CA0052.namprd02.prod.outlook.com 2023-10-25T10:46:26.078Z 08DBD4986B1B4B4D]')

错误触发代码位置:

# views.py 第130行
msg.send()

用户已确认:账号密码可正常登录GoDaddy网页邮箱,无需应用密码,但问题仍存在。

解决步骤

1. 开启租户级SMTP客户端认证

错误核心原因是Office 365租户禁用了SMTP客户端认证,需通过管理员账户操作:

  • 登录Microsoft 365管理员后台
  • 进入Exchange管理中心,找到SMTP客户端认证相关设置
  • 启用租户范围内的SMTP客户端认证权限
  • 确认目标邮箱的SMTP权限未被租户设置单独限制

2. 检查GoDaddy邮箱托管限制

由于邮箱由GoDaddy托管,需确认平台侧配置:

  • 登录GoDaddy账户,进入对应邮箱的管理界面
  • 检查SMTP访问权限是否被平台限制
  • 确认是否需要使用GoDaddy专属SMTP服务器(而非smtp.office365.com)

3. 验证Django配置细节

  • 确保EMAIL_HOST_PASSWORD为正确账户密码,无转义错误
  • 确认DEFAULT_FROM_EMAIL与EMAIL_HOST_USER完全一致,Office 365要求发件人必须是已验证账户
  • 保持EMAIL_PORT=587、EMAIL_USE_TLS=True的标准配置不变

内容的提问来源于stack exchange,提问作者Samuel M.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.07 22:20:07