用于通过线程将电子邮件分组的Java库?

Roy*_*yce 5 java email email-integration

是否有可以接收电子邮件的Java库,将其与电子邮件数据库进行比较,并查找可能来自与邮件列表类似的电子邮件"线程"的其他电子邮件?

chu*_*ubs 8

可能没有我所知道的库,但您可以通过查看电子邮件中的标题值来完成此操作.当有人回复消息时,电子邮件中有几个标题放在那里.以下是讨论的标题.

Message-ID 每封电子邮件都带有一个Message-ID标头,它是一个全局唯一的垃圾串.有时它是一个GUID,但大多数时候它是GUID +域的某种组合.格式并不重要,它只是一些独特的字符串.

In-Reply-To In-Reply-To保存此电子邮件作为回复的邮件ID的值.

引用 可以包含从当前消息返回到线程开头的链中所有消息的消息ID列表.如果线程很长,则此列表可能在中间缩写,但应始终存在第一个和最后一个消息.(较旧的邮件软件使用此字段来标识当前消息所指的其他消息.)

Outlook使用Thread-Index,其中包含单个线程的所有电子邮件都将携带.

您可以使用旧的JavaMail来获取这些头文件,因此以这种方式重建线程应该不会太难.不幸的是,没有像Thread-Index这样的标准标题

http://people.dsv.su.se/~jpalme/ietf/message-threading.html

Thread-index上的StackoverFlow帖子

电子邮件标题字段'thread-index'如何工作?


chu*_*ubs 1

实际上,我纠正了可能存在您可以使用的算法的实现。取决于您使用哪种 API 来阅读电子邮件。

http://www.jwz.org/doc/threading.html

这描述了可用于重构线程的算法。电子邮件很棘手,而且许多客户没有正确实施标准,因此它变得很痛苦。