小编Tim*_*imo的帖子

python imaplib仅从Exchange 2013返回一半消息

我试图找出这里的问题。我不明白

问题:一次运行时,我从收件箱中仅收到一半的消息。当我再次运行时,它将收到另一半的消息,依此类推,直到没有剩余。

设置:我正在尝试在Debian 7上使用python 2.7.3(我知道它很旧)来从Exchange Server 2013中使用imaplib.fetch提取消息。

def fetch_mails():
    messages = []
    mailbox = IMAP4_SSL(host = mail_host, port = mail_port)
    mailbox.login(mail_user, mail_password)
    mailbox.select()
    mailcount = mailbox.search(None, 'ALL')[1][0]
    mailcount = sum(1 for num in mailcount.split())
    for i in xrange(1, mailcount+1):
        mailbox.select()
        status, data = mailbox.fetch(str(i), '(RFC822)')
        current = email.message_from_string(data[0][1])
        messages.append(current)
        mailbox.store(i, '+FLAGS', r'\Deleted')
    return messages
Run Code Online (Sandbox Code Playgroud)

错误:“指定的消息集无效。”

有谁知道为什么会这样吗?最后,我可以处理所有邮件,但不能一次运行。在此先感谢您的帮助!

python imap exchange-server

3
推荐指数
1
解决办法
605
查看次数

标签 统计

exchange-server ×1

imap ×1

python ×1