我目前正在使用Python中的IMAP,并注意到以下内容(使用文件夹中的单个和多个消息进行测试):
问题在于,在第5步中命令执行正常 - 但是服务器将不同的 UID返回到请求中指定的UID(通常,但并非总是如此,差异为1)!例如:
LEFC12 UID FETCH 65 (FLAGS...)])
DEBUG:imapclient.imaplib:< * 3 FETCH (UID 64 ... {47}
多条消息也会发生同样的情况 - 所有这些消息的偏移量相同。
如果我让进程休眠20秒(如完全空闲20秒,如果它每秒重试它永远不会回来OK) - 获取返回正确的UID罚款。我不确定这是一个gmail还是IMAP的东西,任何指针/帮助将不胜感激!
编辑:这里是上述序列的所有imapclient日志:https://gist.github.com/Fizzadar/37cb1fa808ffb6594326bba293f6daab。我注意到这一点并不一致 - 如果你重复上述步骤两次,总是失败,但只是一次它失败(~50%,让我相信这是一个gmail特定的问题)。