如何在imaplib中使用线程搜索方法?

4 投票
2 回答
1592 浏览
提问于 2025-04-16 05:07

我想做一个Gmail客户端,能够把邮件以对话(线程)的方式展示。在imaplib这个库里,有一个方法:IMAP4.thread(threading_algorithm, charset, search_criterion[, ...])。我觉得这个方法可能是解决方案。有没有人用过这个?能给个例子吗?谢谢。

2 个回答

0

据我所知,Gmail使用的是一种私有算法,这个算法在相关的标准文档中并没有说明。

他们会结合一些邮件的头信息(比如“回复给”和“引用”这些字段),还会考虑邮件的主题(不过考虑的方式和THREAD=references不太一样)。

1

这个方法其实就是对IMAP4rev1扩展的THREAD命令的一个封装。你可以看看这个链接,里面详细描述了这个IMAP命令是怎么工作的:https://www.rfc-editor.org/rfc/rfc5256

不过,我不太确定Gmail是否真的实现了THREAD命令。如果它实现了,应该会在它的功能列表中显示'THREAD='。

撰写回答