【问题标题】:Python: IMAP connect to gmail returns errorsPython:IMAP 连接到 gmail 返回错误
【发布时间】:2012-04-04 23:33:48
【问题描述】:

突然,我连接到 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

【问题讨论】:

    标签: python gmail imap


    【解决方案1】:

    很奇怪。我运行了您的确切代码并很好地连接到了 gmail。我建议尝试从另一个系统连接。

    如果您无法访问任何其他系统,我可以为您提供一个帐户,如果您愿意,可以尝试使用我的帐户。

    【讨论】:

    • 问题似乎出在我的帐户上。知道为什么会这样吗?当我尝试另一个时,它似乎可以工作。
    • 我相信 gmail 的网络界面允许您为您的帐户启用/禁用 IMAP。您是否验证它已启用?
    【解决方案2】:

    这一定会最终发生。解决方案是捕获异常中止并重新初始化您的 imap 连接。

    【讨论】:

    • 我遇到了同样的问题,我会试试你的建议。但我确实想知道造成这种情况的真正原因。
    猜你喜欢
    • 1970-01-01
    • 2022-10-24
    • 1970-01-01
    • 1970-01-01
    • 2017-10-15
    • 2015-02-10
    • 1970-01-01
    • 1970-01-01
    • 2016-06-02
    相关资源
    最近更新 更多