突然、gmail に接続して未読メールをチェックするコードが機能しなくなりました。
Connecting to Inbox..
Error
Traceback (most recent call last):
File "./run", line 27, in <module>
mail.login("xxx@dddd.com", "xxxxx123")
File "/usr/lib/python2.6/imaplib.py", line 498, in login
typ, dat = self._simple_command('LOGIN', user, self._quote(password))
File "/usr/lib/python2.6/imaplib.py", line 1060, in _simple_command
return self._command_complete(name, self._command(name, *args))
File "/usr/lib/python2.6/imaplib.py", line 890, in _command_complete
raise self.abort('command: %s => %s' % (name, val))
imaplib.abort: command: LOGIN => socket error: EOF
コードは次のとおりです。
#!/usr/bin/env python
import imaplib, re
import os
import time
import socket
imap_host = 'imap.gmail.com'
mail = imaplib.IMAP4_SSL(imap_host, 993)
mail.login("xxxx@xxxx.com", "xxxx")
while True:
try:
print 'Connecting to Inbox..'
mail.select("inbox") # connect to inbox.
result, data = mail.uid('search', None, 'UNSEEN')
uid_list = data[0].split()
print len(uid_list), 'Unseen emails.'
if len(uid_list) > 20:
os.system('heroku restart --app xxx-xx-203')
time.sleep(30)
except:
print 'Error'
time.sleep(120)
imap_host = 'imap.gmail.com'
mail = imaplib.IMAP4_SSL(imap_host, 993)
mail.login("xxx@xxx.com", "xxxx")
pass
また、このエラーもよく発生します。
Traceback (most recent call last):
File "./run", line 10, in <module>
mail.login("xxx@xxx.com", "xxx")
File "/usr/lib/python2.6/imaplib.py", line 498, in login
typ, dat = self._simple_command('LOGIN', user, self._quote(password))
File "/usr/lib/python2.6/imaplib.py", line 1060, in _simple_command
return self._command_complete(name, self._command(name, *args))
File "/usr/lib/python2.6/imaplib.py", line 893, in _command_complete
self._check_bye()
File "/usr/lib/python2.6/imaplib.py", line 808, in _check_bye
raise self.abort(bye[-1])
imaplib.abort: [UNAVAILABLE] Temporary System Error