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

如何解决Flask密码重置应用中的ConnectionRefusedError[WinError10061]

解决Flask密码重置邮件发送的ConnectionRefusedError问题

这个错误本质是Flask应用无法连接到配置的SMTP邮件服务器,以下是具体排查和解决步骤:

  • 核对邮件服务商的SMTP配置
    不同邮箱的SMTP参数差异很大,必须严格对应:

    • 比如QQ邮箱:服务器smtp.qq.com,端口465(SSL)或587(TLS),需开启SMTP服务并使用专用授权码作为密码(不是登录密码);
    • 比如Gmail:服务器smtp.gmail.com,端口587(TLS),需开启“不太安全的应用访问”或使用应用专用密码(如果开启了两步验证);
    • 确保配置参数无拼写错误,比如MAIL_SERVER、MAIL_PORT、MAIL_USE_TLS/MAIL_USE_SSL这些键名要完全正确,Flask配置大小写敏感。
  • 检查本地网络与防火墙

    • 临时关闭本地防火墙或杀毒软件测试,如果能正常发送,说明是安全软件拦截了连接,给Flask应用添加防火墙允许规则即可;
    • 确认所在网络没有屏蔽SMTP常用端口(587、465),部分企业或校园网络会限制这类端口的外部访问。
  • 开发阶段用本地测试服务器替代真实邮箱
    不需要真实邮箱就能调试邮件功能:

    1. 打开命令行,运行:python -m smtpd -n -c DebuggingServer localhost:1025
    2. 修改Flask配置:
      app.config.update(
          MAIL_SERVER='localhost',
          MAIL_PORT=1025,
          MAIL_USE_TLS=False,
          MAIL_USE_SSL=False,
          MAIL_USERNAME=None,
          MAIL_PASSWORD=None
      )
      

    发送的邮件会直接输出到命令行窗口,方便验证邮件内容和流程是否正确。

  • 验证SMTP服务器的可访问性
    用telnet命令测试网络连通性,比如测试QQ邮箱SSL端口:telnet smtp.qq.com 465。如果连接失败,说明网络或服务器端存在问题;如果能正常连接,再回头检查代码中的配置细节。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 23:17:11