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

Django结合Celery发送邮件出现WinError 10061连接被拒绝问题求助

问题原因
  • 核心错误为配置项拼写错误:你在settings.py中配置SMTP服务器地址时,错误使用了EMAIL_USE作为配置键,Django标准的SMTP服务器地址配置键为EMAIL_HOST。Django读取不到正确的SMTP服务器地址时,默认会尝试连接本机25端口,你的本机没有运行SMTP服务,因此抛出连接被拒绝的报错。
  • 附带不影响本次报错的笔误:celery.py中app.conf.enable_utf = False应为app.conf.enable_utc = False,该配置用来关闭UTC时区使用自定义时区,拼写错误会导致时区配置不生效。
解决方案
  1. 修正settings.py邮件配置
    将错误行:
EMAIL_USE = "smtp.gmail.com"

替换为正确配置:

EMAIL_HOST = "smtp.gmail.com"

同时检查其他邮件配置项:

  • EMAIL_HOST_USER需填写完整的Gmail邮箱地址
  • DEFAULT_FROM_EMAIL的邮箱地址需要和EMAIL_HOST_USER保持一致
  1. 配置Gmail账号访问权限
    谷歌目前已禁止普通密码直接登录第三方SMTP服务,需按如下步骤配置:
  • 开启你的谷歌账号两步验证功能
  • 进入谷歌账号安全设置页面,创建「应用专用密码」
  • 将生成的16位应用专用密码,替换settings.py中EMAIL_HOST_PASSWORD字段的原有登录密码
  1. 验证配置与启动服务
    首先脱离Celery验证邮件功能是否正常,进入Django shell执行如下代码:
from django.core.mail import send_mail
send_mail('测试邮件', '测试内容', '你的发件人邮箱地址', ['测试收件人邮箱地址'], fail_silently=False)

如果能正常收到邮件,再启动Celery Worker即可,Windows环境下Celery启动命令为:

celery -A 你的项目名 worker --loglevel=info -P solo

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 16:36:04