python - imapClient 错误(不同版本的 python 和 windows)

标签 python ssl imapclient

这个问题是由 paul_h 提出的,但我太新了,无法评论(希望)相关信息。我在使用 imapClient 时遇到了同样的问题,而且它显然不是特定于 Python/Windows 版本的。 Paul H 在 win 10 上运行 Python 2.7.11。imapclient error on Windows

我运行的是 3.4.3,甚至升级到 3.5.1。在 win7 上,甚至尝试过旧的 Vista 机器。

import imapclient
imapObj = imapclient.IMAPClient('imap.gmail.com', ssl=True)

它返回:

Traceback (most recent call last):
  File "<pyshell#8>", line 1, in <module>
    imapObj = imapclient.IMAPClient('imap.gmail.com', ssl=True)
  File "C:\Python\lib\site-packages\imapclient\imapclient.py", line 152, in __init__
    self._imap = self._create_IMAP4()
  File "C:\Python\lib\site-packages\imapclient\imapclient.py", line 164, in _create_IMAP4
    self._timeout)
  File "C:\Python\lib\site-packages\imapclient\tls.py", line 153, in __init__
    imaplib.IMAP4.__init__(self, host, port)
  File "C:\Python\lib\imaplib.py", line 189, in __init__
    self.open(host, port)
  File "C:\Python\lib\site-packages\imapclient\tls.py", line 159, in open
    self.sock = wrap_socket(sock, self.ssl_context, host)
  File "C:\Python\lib\site-packages\imapclient\tls.py", line 126, in wrap_socket
    ssl_context = create_default_context()
  File "C:\Python\lib\site-packages\imapclient\tls.py", line 109, in create_default_context
    context.load_verify_locations(cadata=certs)
  File "C:\Python\lib\site-packages\backports\ssl\core.py", line 654, in load_verify_locations
    self._ctx.load_verify_locations(cafile, capath)
  File "C:\Python\lib\site-packages\OpenSSL\SSL.py", line 528, in load_verify_locations
    _raise_current_error()
  File "C:\Python\lib\site-packages\OpenSSL\_util.py", line 48, in exception_from_error_queue
    raise exception_type(errors)
OpenSSL.SSL.Error: []

同时,stock imaplib 与 ssl 连接正常。

M = imaplib.IMAP4_SSL('imap.gmail.com')

很抱歉提出一个新问题,但我不想将其发布为答案。

最佳答案

我也遇到了这个问题,我一直在等待有人回答这个问题,但花了很长时间。 我们使用的是 IMAPclient 1.0.1 并遇到此错误,因此解决方法是安装 imapclient 0.13

pip uninstall imapclient
pip install imapclient==0.13

关于python - imapClient 错误(不同版本的 python 和 windows),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34780726/

相关文章:

python - 在我的自定义表单中将外键字段从选择框更改为 raw_id_fields

python - 何时更新 mongo 数据库索引

web-applications - 如何从 Java EE Web 应用程序枚举 HTTP 监听器

python - 如何安装imapclient

python - Django - 缺少 1 个必需的位置参数 : 'request'

python - 我如何在 Python 中对猴子补丁进行单元测试

javascript - IE8在SSL页面上加载js

java - Jetty客户端/服务器相互认证

php - 在 Python 中使用 IMAPClient 获取电子邮件 - 需要将数据存储在列表中