我想从 IMAP 服务器上的电子邮件创建“线程 View ”。
为了实现这一点,我获取了收件箱和其他文件夹中的电子邮件列表,但我需要知道哪个电子邮件正在回复哪个。 IMAP 中的电子邮件之间有这样的链接吗?
例如,在 IMAP 服务器上,每封电子邮件都有一个唯一的 ID:如果电子邮件 B 是对电子邮件 A 的答复,那么 A 的 ID 是否存储在电子邮件 B 中?
最佳答案
如果您的 IMAP 服务器支持 RFC 5256 中所述的“线程”功能,您可以只要求服务器为您处理消息。
否则,您将必须获取相关信息并在客户端上进行线程处理。 RFC 描述了两种算法来做到这一点。更简单的,ORDEREDSUBJECT
,只需按主题对邮件进行分组,然后按日期对其进行排序。这给出了扁平的线程结构。更复杂的一个,REFERENCES
,看着In-Reply-To
和 References
每条消息的 header ,并将具有此类 header 的消息视为具有给定 Message-Id
的消息的子级.
关于email - 从 IMAP 创建电子邮件线程?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28739661/