【发布时间】:2013-02-01 15:52:27
【问题描述】:
如何从我的 Gmail 收件箱中分类和检索最大的电子邮件,而无需向电子邮件服务器发送多个 IMAP 请求?例如,如果我的 gmail 帐户有 10,000 条消息,则代码不应发送 10,000 个 IMAP 请求来找出每条消息的大小。有什么想法吗?
【问题讨论】:
-
仅供参考,Gmail 不支持 IMAPCLient 包中的排序功能.. 寻找另一种方式..
如何从我的 Gmail 收件箱中分类和检索最大的电子邮件,而无需向电子邮件服务器发送多个 IMAP 请求?例如,如果我的 gmail 帐户有 10,000 条消息,则代码不应发送 10,000 个 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)',....
【讨论】:
fetch 请求吗?所以基本上如果我有 10,000 条消息,它会发送 10,000 个 fetch 请求,对吗?因此它不可扩展。我说的对吗?