python - Gmail IMAP 有时返回错误的提取结果

标签 python gmail imap gmail-imap

我正在使用 python 通过 IMAP 连接到 gmail。

当我获取一堆 uid 时,结果有时会包含一些奇怪的附加到最后。

这个错误似乎是间歇性的,并在上周左右的某个时候开始出现。

例如我做这样的抓取:

>>>import imaplib
>>>conn = imaplib.IMAP4_SSL('imap.gmail.com')
>>># authenticate etc
>>>conn.uid('fetch', '12,13', '(X-GM-THRID)')

我有时会得到这样的结果:

>>>['1 (X-GM-THRID 123123123123 UID 12)', 
    '2 (X-GM-THRID 123123123123 UID 13)', 
    '365022 (UID 601722 FLAGS (\\Seen))']

(为了可读性添加了换行符,id 与原始 ID 不同,通常我获取的远远超过两个。)

这很奇怪。关于额外的消息,我根本没有要求任何东西。有时它在那里,有时不在那里。无论我获取什么字段,额外的结果(我只见过一两个)从不包含它们,只包含 FLAGS 信息。

知道为什么会发生这种情况吗?

最佳答案

本周早些时候在 IMAP 协议(protocol)邮件列表中发布了以下内容:

“从昨天 [10 月 7 日星期一] 开始,Gmail 现在支持在我们报告新的/删除的邮件的任何地方报告标志更改(即协议(protocol)允许的大多数地方,但肯定是在 IDLE 期间)。它只为 gmail 启用。 com 用户,假设我们没有发现任何问题,Google Apps 用户将在一周左右后跟进。”

但是,新功能显然存在问题,因为今天他们说它正在回滚:

“我们看到一些程序没有预期额外的 FETCH 响应的报告,我们在周一推出了这些响应。我们很快就会回滚,因为一个非常受欢迎的客户端的旧版本有问题(尽管我们不知道这部分的事情)。”

-瑞克

关于python - Gmail IMAP 有时返回错误的提取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26262472/

相关文章:

email - 通过 Gmail API (Javascript) 发送电子邮件

javascript - 将图像附加到 gmail

html - Gmail 电子邮件标记不起作用

oauth - IMAP OAuth token 到期

python - Python 中的状态机 : Run Code in Transition or State?

python - Python中保存/加载游戏关卡的方法

php - 突然的 PHP 错误 "Warning: imap_open() [function.imap-open]: Couldn' t 打开流”

python - 为什么 imaplib 在每封电子邮件后返回一个单独的括号?

python - 使用多处理交错加载数据。队列有时会导致项目被无序消耗

python - pandas:为列中的每一行计算 numpy 数组的平均值