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

在Django中使用SMTP发送邮件失败的问题求助

Django SMTP邮件发送失败排查方案

1. 先排除网络与SMTP服务器连通问题

直接用Python原生脚本测试SMTP连接,绕过Django,确认基础通信是否正常:

import smtplib
from email.mime.text import MIMEText

# 测试Gmail配置
try:
    server = smtplib.SMTP('smtp.gmail.com', 587)
    server.starttls()
    server.login('你的Gmail邮箱地址', '你的应用专用密码')
    msg = MIMEText('这是一封测试邮件')
    msg['Subject'] = 'Django邮件测试'
    msg['From'] = '你的Gmail邮箱地址'
    msg['To'] = '收件人邮箱地址'
    server.sendmail('你的Gmail邮箱地址', ['收件人邮箱地址'], msg.as_string())
    server.quit()
    print('Gmail测试发送成功')
except Exception as e:
    print(f'Gmail测试失败: {str(e)}')

# 测试Outlook配置
try:
    server = smtplib.SMTP('smtp-mail.outlook.com', 587)
    server.starttls()
    server.login('你的Outlook邮箱地址', '你的Outlook密码/应用密码')
    msg = MIMEText('这是一封测试邮件')
    msg['Subject'] = 'Django邮件测试'
    msg['From'] = '你的Outlook邮箱地址'
    msg['To'] = '收件人邮箱地址'
    server.sendmail('你的Outlook邮箱地址', ['收件人邮箱地址'], msg.as_string())
    server.quit()
    print('Outlook测试发送成功')
except Exception as e:
    print(f'Outlook测试失败: {str(e)}')

运行脚本后,根据报错信息定位核心问题:比如认证失败说明密码/应用密码错误,连接超时说明网络端口被屏蔽。

2. Django配置细节核查

  • 确认EMAIL_HOST_USER与DEFAULT_FROM_EMAIL完全一致,包括完整邮箱后缀(如xxx@gmail.com不能省略)
  • Outlook可尝试切换端口与加密方式:
    EMAIL_PORT = 465
    EMAIL_USE_SSL = True
    EMAIL_USE_TLS = False
    
  • 检查settings.py中是否有其他代码覆盖EMAIL_BACKEND配置,确保未被第三方库或自定义代码修改
  • 在Django Shell中测试发送,获取具体异常:
    运行python manage.py shell,执行以下代码:
    from django.core.mail import send_mail
    send_mail(
        '测试主题',
        '测试内容',
        '你的发件邮箱',
        ['收件人邮箱'],
        fail_silently=False,  # 设为False才能看到详细报错信息
    )
    

3. 开发环境特殊问题排查

  • 本地网络可能存在防火墙/代理拦截SMTP端口(587/465),尝试切换手机热点测试
  • 用telnet验证端口连通性:telnet smtp.gmail.com 587,如果返回220 smtp.gmail.com ESMTP说明端口可访问,否则是网络封锁问题

4. 邮箱账号额外设置

  • Gmail:
    • 确认应用密码是开启双因素认证后生成的,且选择了「邮件」类型的应用
    • 关闭「不太安全的应用访问」选项(应用密码是该选项的替代方案,开启反而可能冲突)
  • Outlook:
    • 如果账号开启了「安全默认值」,需要生成应用密码替代原密码使用
    • 检查收件人邮箱的黑名单设置,确认发件人未被拦截

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 23:53:27