title: Python: IMAP connect to gmail returns errors
body: <p>Suddenly, my code that connects to gmail and checks for unread e-mails stopped working:</p>
  
  <pre><code>Connecting to Inbox..
  Error
  Traceback (most recent call last):
    File "./run", line 27, in &lt;module&gt;
      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 =&gt; %s' % (name, val))
  imaplib.abort: command: LOGIN =&gt; socket error: EOF
  </code></pre>
  
  <p>Here's the code:</p>
  
  <pre><code>#!/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) &gt; 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
  </code></pre>
  
  <p>And I also get this error a lot:</p>
  
  <pre><code>Traceback (most recent call last):
    File "./run", line 10, in &lt;module&gt;
      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
  </code></pre>