Python 从收件箱中检索最大的电子邮件

Python 从收件箱中检索最大的电子邮件,python,imaplib,Python,Imaplib,如何从Gmail收件箱中排序和检索最大的电子邮件,而不必向电子邮件服务器发送多个IMAP请求?例如,如果我的gmail帐户有10000条消息,那么代码不应该发送10000个IMAP请求来找出每条消息的大小。有什么想法吗?这有帮助吗?它返回的速度足够快,只有几百条消息 import imaplib mail = imaplib.IMAP4_SSL('imap.gmail.com') mail.login('me@gmail.com', 'SECRET) resp,data = mail.uid(

如何从Gmail收件箱中排序和检索最大的电子邮件,而不必向电子邮件服务器发送多个IMAP请求?例如,如果我的gmail帐户有10000条消息,那么代码不应该发送10000个IMAP请求来找出每条消息的大小。有什么想法吗?

这有帮助吗?它返回的速度足够快,只有几百条消息

import imaplib
mail = imaplib.IMAP4_SSL('imap.gmail.com')
mail.login('me@gmail.com', 'SECRET)

resp,data = mail.uid('FETCH', '1:*' , '(RFC822.SIZE)')
print data
给出:

['1 (UID 1 RFC822.SIZE 6383)', '2 (UID 2 RFC822.SIZE 35641)', '3 (UID 3 RFC822.SIZE 4787)',....

仅供参考,Gmail不支持IMAPCLient包中的排序功能。。正在寻找另一种方法。如果我理解正确,这不是在向服务器发送多个
fetch
请求吗?所以基本上如果我有10000条消息,它会发送10000个
fetch
请求,对吗?因此,它不可扩展。。我说的对吗?我真的不确定它是否在向Imap服务器发送命令。说获取所有消息的大小。我会在谷歌上搜索RFC822.SIZE的用法。此外,这段代码对您来说也很容易测试。这是我第一次使用它。我会吮吸它,看看是不是我。如果你是那种能触摸规格的人,阅读可能会有所帮助。