首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >imapClient错误(比较版本python和windows)

imapClient错误(比较版本python和windows)
EN

Stack Overflow用户
提问于 2016-01-14 10:32:56
回答 2查看 1.7K关注 0票数 2

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

我运行的是3.4.3,甚至升级到了3.5.1。在这两个win7上,甚至尝试了一个旧的Vista机器。

代码语言:javascript
复制
import imapclient
imapObj = imapclient.IMAPClient('imap.gmail.com', ssl=True)

它返回:

代码语言:javascript
复制
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: []

同时,股票imaplib与ssl连接良好。

代码语言:javascript
复制
M = imaplib.IMAP4_SSL('imap.gmail.com')

很抱歉开始了一个新的问题,但我不想把这作为一个答案。

EN

回答 2

Stack Overflow用户

发布于 2016-01-28 04:03:59

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

代码语言:javascript
复制
pip uninstall imapclient
pip install imapclient==0.13
票数 3
EN

Stack Overflow用户

发布于 2016-10-24 10:12:49

这是一个适用于我的变通方法(Python 3.5,Windows 10):

代码语言:javascript
复制
from backports import ssl
from imapclient import IMAPClient

context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)

imapObj = IMAPClient('imap.gmail.com', ssl=True, ssl_context=context)

上面的代码来自开发人员的变通here,但是我发现我只需要一行定义context就可以让它工作。指定其他SSL/TLS协议也是有效的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34780726

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档