我试图找出这里的问题。我不明白
问题:一次运行时,我从收件箱中仅收到一半的消息。当我再次运行时,它将收到另一半的消息,依此类推,直到没有剩余。
设置:我正在尝试在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)
错误:“指定的消息集无效。”
有谁知道为什么会这样吗?最后,我可以处理所有邮件,但不能一次运行。在此先感谢您的帮助!