imaplib不会读取最新的电子邮件

时间:2015-12-15 10:20:43

标签: python email imap imaplib

我有一个邮箱,我需要从python中读取传入的邮件。邮件服务器支持IMAP访问,因此,我尝试使用python内置模块imaplib
我的代码:

import imaplib

def ReadLatest():
    m = imaplib.IMAP4_SSL(<server>)
    m.login(<login>, <password>) # ('OK', ['LOGIN Completed.'])
    if result != 'OK':
        raise Exception("Error connecting to mailbox: {}".format(data))

    result, data = m.select("inbox") # ('OK', ['N']) N - count inbox
    if result != 'OK':
        raise Exception("Error reading inbox: {}".format(data))
    if data == ['0']:
        return None

    #result, data = m.search(None, "ALL") # ('OK', ['1 2']) - numbers of mails
    #m.sort('REVERSE DATE', 'UTF-8', 'ALL') # <-- ERROR!

    latest = data[0].split()[-1]
    result, data = m.fetch(latest, "(RFC822)")
    if result != 'OK':
        raise Exception("Error reading email: {}".format(data))
    <...>
    # further e-mail processing

所以,我的问题在于:当我执行上面的代码时,如果同时收到最近的邮件,则不会读取最新的电子邮件。我通过网络界面查看它 当我按日期排序时出现错误:{error}SORT command error: BAD ['Command syntax error, sc=...']。它不是gmail邮箱,我知道它不支持sort命令。我不知道我的邮箱是否支持它并且不知道如何检查它。

0 个答案:

没有答案