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

配置正确但Django无法发邮件,同设置第三方工具可发送的排查求助

Django邮件无法实际发送的解决办法

核心问题

你当前配置的EMAIL_BACKEND是django.core.mail.backends.console.EmailBackend,这个后端仅会将邮件内容输出到控制台,不会通过SMTP服务器实际发送邮件——这就是你能在控制台看到邮件内容,但收件箱收不到邮件的直接原因。

第一步:修改邮件后端配置

将settings.py中的邮件后端替换为SMTP后端,这是Django实际发送邮件的核心配置:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'

保存配置后重启Django服务,再执行发送测试。

额外检查项(避免其他潜在问题)

  • 确认Zoho账号已开启SMTP服务,并且允许第三方客户端访问:部分邮箱需要生成专用应用密码(而非登录密码)用于SMTP验证,Zoho可在账户安全设置中配置
  • 检查服务器防火墙/云服务安全组是否放行587端口的出站流量
  • 验证环境变量加载是否正确:可以在视图函数中临时打印变量值确认
    print("邮箱账号:", NOREPLYEMAIL)
    print("邮箱密码:", NOREPLYEMAILPASS)
    
  • 若遇到SSL/TLS相关错误,可确认EMAIL_USE_TLS = True(587端口通常使用TLS加密),同时确保EMAIL_USE_SSL = False(SSL一般对应465端口)

验证效果

修改配置后,控制台不再输出邮件内容,testemail.send()方法会返回1表示发送成功,此时收件箱应该能收到测试邮件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 14:40:01