Gmail को सिंक करने के लिए OfflineIMAP का उपयोग करने में असमर्थ


10

मैं अपने Gmail खाते को सिंक करने के लिए OfflineIMAP को सेटअप करने का प्रयास कर रहा हूं ~/Mail/Gmail। मैं यहाँ~/.offlineimaprc से एक बहुत बुनियादी का उपयोग कर रहा हूँ । लेकिन ऑफलाइनआईएमएपी जीमेल से बिल्कुल भी कनेक्ट नहीं है। यह डिबग संदेश मुझे मिल रहा है (ऑफलाइनआइएमएपी के रूप में चलाकर :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

शुरुआत में मुझे लगा कि यह मेरे आईएसपी अवरोध के कारण हो सकता है imap.gmail.com/imap.googlemail.com, लेकिन मैं इसका उपयोग करके इसे कनेक्ट करने में सक्षम हूं 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 '^]'.

कोई विचार?

EDIT 1: SuperUser पर इस उत्तर से , मैंने imap.googlemail.comSSL का उपयोग करके कनेक्ट करने का प्रयास किया openssl s_client -connect imap.googlemail.com:993। यह मुझे देता है:

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
---

यह ओपनएसएसएल में एक लापता प्रमाणपत्र समस्या की तरह दिखता है। क्या ऑफलाइनआईएमएपी के साथ भी ऐसा ही हो सकता है?

EDIT 2: मैंने मंड्रेवा लिनक्स रिलीज़ 2009.1 और जाहिर तौर पर कनेक्शन काम किया ( डिबग आउटपुट ) पर चल रहे एक ही सर्वर (उसी नेटवर्क पर) पर उसी ओपनएसएसएल कमांड की कोशिश की । मैं OpenSSL / LibSSL 1.0.1-4ubuntu5.5 के साथ Ubuntu 12.04 चला रहा हूं। क्या यह डिस्ट्रो संबंधित हो सकता है?


यह आपके ऑफ़लाइन संस्करण को पोस्ट करने में मदद कर सकता है, क्योंकि उस परियोजना के जंगली में कुछ संस्करण हैं और उनमें से कुछ बुरी तरह से टूट गए हैं। उनकी मेलिंग सूची भी आज़माएं, जिसकी जानकारी आप उनके होम पेज पर पा सकते हैं ।
jw013

जवाबों:


12

फ़िंगरप्रिंट को मैन्युअल रूप से निर्दिष्ट करने के बजाय (जो बदल सकता है), आप इसके बजाय ऑफ़लाइन बता सकते हैं कि आपके स्थानीय सिस्टम प्रमाण पत्र कहाँ संग्रहीत हैं और फिर यह स्वचालित रूप से श्रृंखला को सत्यापित करता है।

[Repository somerepos-remote]
type = Gmail
sslcacertfile = /etc/ssl/certs/ca-certificates.crt

Sslcacertfile क्या चाल है।

यदि गैर-उबंटू उपयोगकर्ता इसे देख रहे हैं, तो ध्यान रखें कि स्थान आपके डिस्ट्रो पर सबसे अधिक भिन्न है।


4
किसी भी विचार जहां sslcacertfileOSX पर पथ?
मीथम

1
जैसे @Meitham दिखता sslcacertfile = /usr/local/etc/openssl/cert.pemके अनुसार rudolfochrist.github.io/blog/2015/03/21/...
टेकनकोलागी

1

आपको अपने दूरस्थ जीमेल खाते का वर्णन करते हुए .offlineimaprc में अनुभाग में निम्नलिखित पंक्ति जोड़नी चाहिए:

cert_fingerprint=f3043dd689a2e7dddfbef82703a6c65ea9b634c1

यह जीमेल के इमैप सर्वर का एसएसएल सर्टिफिकेट है।


0

नहीं, यह OpenSSL एक प्रमाणपत्र नहीं है जो एक SSL हैंडशेक विफलता है क्योंकि दूसरे छोर ने अपना प्रमाणपत्र नहीं भेजा है।

जब आप कुछ गैर-एसएसएल सक्षम सेवा से जुड़ते हैं तो आपको एक समान त्रुटि मिलेगी।

OpenSl में -debug विकल्प जोड़ने पर आपको क्या मिलता है?

का जवाब:

read from 0x9cd8b98 [0x9cde140] (7 bytes => 0 (0x0))

तो यह सॉकेट से कुछ भी नहीं पढ़ता है (यह सुझाव है कि यह दूसरे छोर से बंद था या कुछ भी भेजने से पहले बीच में कुछ)

क्या आपके नेटवर्क पर किसी प्रकार का प्रॉक्सी है? स्थानीय मशीन पर कुछ प्रकार के iptables पुनर्निर्देशन या एंटीवायरस?

tshark -Vi any port 993जब आप Opensl कमांड का प्रयास करते हैं, तो आपको क्या देता है ?


धन्यवाद! यहां-debug विकल्प के साथ ओपनएसएसएल चलाने का परिणाम है । जाहिरा तौर पर मैं एक ही नेटवर्क पर दूसरे सर्वर से कनेक्ट करने में सक्षम हूं। मैं अब सोच रहा हूं कि यह विशिष्ट विशिष्ट हो सकता है। मैंने अपना प्रश्न भी अपडेट कर दिया है।
tirmm
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.