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

Python连接Gmail IMAP遇WinError 10060超时错误求助

WinError 10060连接超时错误排查与解决办法

问题场景

在IDLE环境中使用专门创建的Gmail账号运行以下Python代码:

import imaplib, email, os

user = 'mail'
password = 'pass'
imap_url = 'imap.gmail.com'
con = imaplib.IMAP4_SSL(imap_url)
con.login(user,password)
print(con.list())

网络状态良好,但运行时先出现省略号,随后抛出超时错误:

Traceback (most recent call last):
  File "C:/Users/vinee/AppData/Local/Programs/Python/Python311/Email downloader.py", line 1, in <module>
    import imaplib, email, os
  File "C:\Users\vinee\AppData\Local\Programs\Python\Python311\email.py", line 7, in <module>
    mail = imaplib.IMAP4_SSL('imap.gmail.com','992')
  File "C:\Users\vinee\AppData\Local\Programs\Python\Python311\Lib\imaplib.py", line 1323, in __init__
    IMAP4.__init__(self, host, port, timeout)
  File "C:\Users\vinee\AppData\Local\Programs\Python\Python311\Lib\imaplib.py", line 202, in __init__
    self.open(host, port, timeout)
  File "C:\Users\vinee\AppData\Local\Programs\Python\Python311\Lib\imaplib.py", line 1336, in open
    IMAP4.open(self, host, port, timeout)
  File "C:\Users\vinee\AppData\Local\Programs\Python\Python311\Lib\imaplib.py", line 312, in open
    self.sock = self._create_socket(timeout)
  File "C:\Users\vinee\AppData\Local\Programs\Python\Python311\Lib\imaplib.py", line 1326, in _create_socket
    sock = IMAP4._create_socket(self, timeout)
  File "C:\Users\vinee\AppData\Local\Programs\Python\Python311\Lib\imaplib.py", line 302, in _create_socket
    return socket.create_connection(address)
  File "C:\Users\vinee\AppData\Local\Programs\Python\Python311\Lib\socket.py", line 850, in create_connection
    raise exceptions[0]
  File "C:\Users\vinee\AppData\Local\Programs\Python\Python311\Lib\socket.py", line 835, in create_connection
    sock.connect(sa)
TimeoutError: [WinError 10060] A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond

错误原因分析

  • 端口号错误:报错显示代码实际使用了端口992,但Gmail的IMAP SSL标准端口是993,端口不匹配直接导致连接失败。
  • 模块命名冲突:脚本目录下存在自定义的email.py文件,和Python标准库的email模块重名,导致导入时优先加载了自定义文件,引发后续连接逻辑混乱。
  • Gmail权限限制:Gmail默认禁止普通密码登录IMAP服务,未开启对应权限会被拒绝连接。
  • 网络拦截:本地防火墙、杀毒软件或运营商可能拦截了993端口的出站请求,导致连接超时。

解决办法

  • 修正端口号:显式指定正确的IMAP SSL端口993,修改代码:
    con = imaplib.IMAP4_SSL(imap_url, 993)
    
  • 解决命名冲突:将自定义的email.py重命名为email_downloader.py等非标准库名称,同时删除目录下的email.pyc缓存文件。
  • 配置Gmail权限:
    • 未开启两步验证:登录Gmail账户,进入「安全性」设置,开启「不太安全的应用访问」(用完建议关闭,或改用应用专用密码提升安全性)。
    • 已开启两步验证:在Google账户「安全性」中生成应用专用密码,用该密码替代原登录密码。
  • 排查网络拦截:
    • 暂时关闭本地防火墙、杀毒软件,测试连接是否恢复。
    • 用命令提示符执行telnet imap.gmail.com 993,若能连通则端口正常,否则需调整防火墙规则或联系运营商。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 14:05:47