Tôi đang cố gắng thiết lập OfflineIMAP để đồng bộ hóa tài khoản Gmail của mình ~/Mail/Gmail
. Tôi đang sử dụng một cơ bản khá ~/.offlineimaprc
từ đây . Nhưng OfflineIMAP hoàn toàn không kết nối với Gmail. Đây là thông báo gỡ lỗi tôi nhận được (bằng cách chạy OfflineIMAP dưới dạng offlineimap -o -d imap
:
OfflineIMAP 6.3.4
Copyright 2002-2011 John Goerzen & contributors.
Licensed under the GNU GPL v2+ (v2 or any later version).
Debug mode: Forcing to singlethreaded.
Now debugging for imap: IMAP protocol debugging
Now debugging for : Other offlineimap related sync messages
Account sync Gmail:
***** Processing account Gmail
Copying folder structure from IMAP to Maildir
Establishing connection to imap.gmail.com:993.
DEBUG[imap]: 06:28.69 Account sync Gmail imaplib2 version 2.24
DEBUG[imap]: 06:28.69 Account sync Gmail imaplib2 debug level 5, buffer level 3
WARNING: Error occured attempting to sync account 'Gmail':
Traceback (most recent call last):
File "/usr/lib/pymodules/python2.7/offlineimap/accounts.py", line 177, in syncrunner
self.sync()
File "/usr/lib/pymodules/python2.7/offlineimap/accounts.py", line 235, in sync
remoterepos.syncfoldersto(localrepos, [statusrepos])
File "/usr/lib/pymodules/python2.7/offlineimap/repository/Base.py", line 124, in syncfoldersto
srcfolders = src.getfolders()
File "/usr/lib/pymodules/python2.7/offlineimap/repository/IMAP.py", line 276, in getfolders
imapobj = self.imapserver.acquireconnection()
File "/usr/lib/pymodules/python2.7/offlineimap/imapserver.py", line 323, in acquireconnection
elif isinstance(e, socket.error) and e.args[0] == errno.ECONNREFUSED:
NameError: global name 'errno' is not defined
***** Finished processing account Gmail
Lúc đầu, tôi nghĩ rằng điều này có thể là do việc chặn ISP của tôi imap.gmail.com/imap.googlemail.com
, nhưng tôi có thể kết nối với nó bằng cách sử dụng telnet imap.googlemail.com 993
:
telnet imap.googlemail.com 993
Trying 173.194.79.16...
Connected to googlemail-imap.l.google.com.
Escape character is '^]'.
Có ý kiến gì không?
EDIT 1: Từ câu trả lời này trên SuperUser , tôi đã thử kết nối với imap.googlemail.com
qua SSL bằng cách sử dụng openssl s_client -connect imap.googlemail.com:993
. Điều này mang lại cho tôi:
CONNECTED(00000003)
3078125768:error:140790E5:SSL routines:SSL23_WRITE:ssl handshake failure:s23_lib.c:177:
---
no peer certificate available
---
No client certificate CA names sent
---
SSL handshake has read 0 bytes and written 226 bytes
---
New, (NONE), Cipher is (NONE)
Secure Renegotiation IS NOT supported
Compression: NONE
Expansion: NONE
---
Điều này trông giống như một vấn đề chứng chỉ bị thiếu trong OpenSSL. Điều tương tự có thể xảy ra với OfflineIMAP không?
EDIT 2: Tôi đã thử các lệnh OpenSSL tương tự trên một máy chủ khác (trên cùng một mạng) chạy Mandriva Linux phát hành 2009.1 và rõ ràng kết nối đã hoạt động ( đầu ra gỡ lỗi ). Tôi đang chạy Ubuntu 12.04 với OpenSSL / LibSSL 1.0.1-4ubfox5.5. Điều này có thể liên quan đến distro?