में ईओएफ त्रुटि मैं एक पायथन एप्लेट प्रोग्रामिंग कर रहा हूं जो मेरे कार्यस्थल के लिए ईमेल बॉक्स की अपठित गिनती देखता है, और जब मैं ऐप्पल लगभग 10 मिनट तक निष्क्रिय रहता हूं तो किसी भी imaplib विधियों का उपयोग करने का प्रयास करते समय एक ईओएफ त्रुटि में भाग गया। जब तक ऐप्पल 10 मिनट से अधिक समय तक जीवित नहीं रहता तब तक सब ठीक काम करता है।Imaplib
इमाप्लिब ऑब्जेक्ट के लिए प्रासंगिक कोड यहां दिया गया है।
conn = imaplib.IMAP4_SSL("imap.gmail.com", 993)
def loginIMAP (imapObj):
# Login to Helpdesk Google Apps Email account using encryption
imapObj.login(base64.b64decode("usrEncryption"), base64.b64decode("pwdEncrytion"))
return(getUnread(imapObj))
def closeIMAP (imapObj):
imapObj.logout()
def getUnread (imapObj):
# Check connection status OK
try:
uc0 = int(re.search("UNSEEN (\d+)", imapObj.status("INBOX", "(UNSEEN)")[1][0]).group(1))
uc1 = int(re.search("UNSEEN (\d+)", imapObj.status("A box 1", "(UNSEEN)")[1][0]).group(1))
uc2 = int(re.search("UNSEEN (\d+)", imapObj.status("A box 2", "(UNSEEN)")[1][0]).group(1))
except:
print "Shit's all disconnected n stuff"
loginIMAP(conn)
unreadCount = [(uc0-(uc1+uc2)),uc1,uc2]
if unreadCount[0] < 0:
unreadCount[0]=0
return unreadCount
usrEncryption
और pwdEncryption
बस मुझे यू/p मास्किंग तो हमारे हेल्पडेस्क लॉगिन सभी सार्वजनिक नहीं कर रहे हैं।
जब मैं कोशिश करते हैं और एप्लेट दस से अधिक MINUES मैं निम्नलिखित आउटपुट प्राप्त के लिए खुला होने के बाद getUnread(conn)
फोन:
Traceback (most recent call last):
File "C:\Jamin'sApps\Development\Projects\Check HD Box\checkHDBox.py", line 255, in OnRefresh
unread = getUnread(conn)
File "C:\Jamin'sApps\Development\Projects\Check HD Box\checkHDBox.py", line 119, in getUnread
uc0 = int(re.search("UNSEEN (\d+)", imapObj.status("INBOX", "(UNSEEN)")[1][0]).group(1))
File "C:\Jamin'sApps\Development\Python\python2.7.2\lib\imaplib.py", line 710, in status
typ, dat = self._simple_command(name, mailbox, names)
File "C:\Jamin'sApps\Development\Python\python2.7.2\lib\imaplib.py", line 1070, in _simple_command
return self._command_complete(name, self._command(name, *args))
File "C:\Jamin'sApps\Development\Python\python2.7.2\lib\imaplib.py", line 899, in _command_complete
raise self.abort('command: %s => %s' % (name, val))
imaplib.abort: command: STATUS => socket error: EOF
Traceback (most recent call last):
File "C:\Jamin'sApps\Development\Projects\Check HD Box\checkHDBox.py", line 255, in OnRefresh
unread = getUnread(conn)
File "C:\Jamin'sApps\Development\Projects\Check HD Box\checkHDBox.py", line 119, in getUnread
uc0 = int(re.search("UNSEEN (\d+)", imapObj.status("INBOX", "(UNSEEN)")[1][0]).group(1))
File "C:\Jamin'sApps\Development\Python\python2.7.2\lib\imaplib.py", line 710, in status
typ, dat = self._simple_command(name, mailbox, names)
File "C:\Jamin'sApps\Development\Python\python2.7.2\lib\imaplib.py", line 1070, in _simple_command
return self._command_complete(name, self._command(name, *args))
File "C:\Jamin'sApps\Development\Python\python2.7.2\lib\imaplib.py", line 859, in _command
raise self.abort('socket error: %s' % val)
imaplib.abort: socket error: [Errno 10053] An established connection was aborted by the software in your host machine
अपवाद ब्लॉक does not वास्तव में समस्या, के लिए काम करने लगते हैं जो क्या है मैं वास्तव में मदद की ज़रूरत है। तो मैं इस कनेक्शन को जिंदा और लात कैसे रखूं?
धन्यवाद।
लगता है कि यह समय समाप्त हो गया है। लेकिन डिफ़ॉल्ट रूप से imaplib में 'सॉकेट' पर कोई टाइमआउट सेट नहीं है, तो शायद यह जीमेल कर रहा है? क्या आपको एक अलग एसएमटीपी सर्वर के साथ अलग-अलग परिणाम मिलते हैं? – Dave