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

Django发送Office365邮件遇SSLError或超时问题求助

解决Django连接Office365 SMTP的SSL错误与超时问题

问题根源

  • 使用django_smtp_ssl.SSLEmailBackend后端搭配587端口时,该后端会在连接初始阶段强制建立SSL加密,但Office365的587端口要求先建立明文连接,再通过STARTTLS升级加密,这就导致了SSL版本不匹配的错误。
  • 465端口超时通常是网络层面的限制(如防火墙、ISP屏蔽),而非配置问题。

正确配置方案

替换后端为Django默认的SMTP后端,并调整参数如下:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.office365.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = config['EMAIL']
EMAIL_HOST_PASSWORD = config['PASSWORD']
DEFAULT_FROM_EMAIL = config['EMAIL']
EMAIL_USE_SSL = False
EMAIL_USE_TLS = False
EMAIL_USE_STARTTLS = True

额外注意事项

  • 确认你的服务器/主机允许587端口出站,部分云服务商或企业网络会限制邮件端口。
  • 如果开启了Office365账号的两步验证,EMAIL_HOST_PASSWORD必须使用应用专用密码,而非普通登录密码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 00:09:22