IMAP:从邮件的UID到文件夹名?

2024-04-16 20:02:50 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在用Python连接到IMAP服务器。在

我有一个特殊消息的UID。在

有没有办法获取包含此UID的文件夹名?在

或者一个UID/消息可以在多个文件夹中吗?然后,我想获取此邮件所属文件夹的列表。在

或者我误解了什么。UID始终位于IMAP文件夹的本地。它只在文件夹的上下文中有效。在

我使用ImapClient连接到IMAP服务器。但在这个层次上,所有的语言和它们的bindung应该是相同的(我猜)。在


Tags: 服务器文件夹语言消息列表uid邮件imap
2条回答

uid在文件夹之间不是唯一的。只有(folder name,uid validity,uid)这三者是唯一的。在

对于大多数服务器软件(尤其是传统的UNIX IMAP服务器),uid是在每个文件夹上单调递增生成的,并且是重叠的。也就是说,任何文件夹中的第一条消息是uid1,第二条消息是uid2,依此类推。显然发送:UID-1是与不一样的信息收件箱:UID-1。在

有些服务器确实会生成帐户唯一的uid(比如yahoo),但这是例外,不是常规。在

Gmail还有一个额外的属性是account-unique,X-GM-MSGID在他们的IMAP extensions document中描述。在

我自己找到了答案:

http://www.limilabs.com/blog/unique-id-in-imap-protocol

To identify a message across all folders you need 3 variables: UID, folder name and FolderStatus.UIDValidity.

...

In most modern servers FolderStatus.UIDValidity changes rarely. However client that remembers message UIDs between sessions must deal with such change and act accordingly.

结果是:无法从UID中获取文件夹名称。在

相关问题 更多 >