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

Gmail SMTP连接失败求助:已配置2FA仍遇超时错误

解决Django配置Gmail SMTP超时错误(WinError 10060)

针对你遇到的连接超时问题,按以下步骤排查解决:

  • 测试网络连通性
    先验证本地网络能否访问Gmail的SMTP服务:
    在命令行执行:

    # Windows PowerShell 命令
    Test-NetConnection smtp.gmail.com -Port 587
    # 或启用telnet后执行
    telnet smtp.gmail.com 587
    

    如果连接失败,说明本地网络(防火墙、校园网、VPN)限制了587端口,尝试切换手机热点测试,或联系网络管理员开放端口权限。

  • 验证环境变量配置
    确保EMAIL_USER和EMAIL_PASS环境变量已正确设置:
    在Django项目中临时添加代码验证:

    import os
    # 在视图或settings.py末尾添加
    print("当前EMAIL_USER:", os.getenv('EMAIL_USER'))
    print("当前EMAIL_PASS:", os.getenv('EMAIL_PASS'))
    

    运行项目后检查输出,确认EMAIL_PASS是2FA生成的16位无空格专用应用密码,而非你的谷歌账号登录密码。

  • 切换SMTP端口与加密方式
    将配置改为使用465端口+SSL加密:

    # smtp settings
    EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
    EMAIL_HOST = 'smtp.gmail.com'
    EMAIL_PORT = 465
    EMAIL_USE_SSL = True
    EMAIL_HOST_USER = os.getenv('EMAIL_USER')
    EMAIL_HOST_PASSWORD = os.getenv('EMAIL_PASS')
    

    保存后重新测试邮件发送。

  • 排查本地安全工具干扰
    暂时关闭Windows防火墙、杀毒软件或第三方安全工具,测试是否能正常连接。若关闭后恢复正常,需在工具中添加Python进程或Django项目的网络访问权限,允许其连接smtp.gmail.com。

  • 确认Gmail账户设置
    确保谷歌账号已开启两步验证(2FA),且生成的专用应用密码未过期、格式正确(无空格的16位字符串)。注意:开启2FA后无需开启"不太安全的应用访问",该选项需保持关闭状态。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 00:18:30