按主题分类电子邮件

Posted

技术标签:

【中文标题】按主题分类电子邮件【英文标题】:Threading emails by subject 【发布时间】:2011-09-09 10:17:34 【问题描述】:

我们正在解析一个注册到邮件列表 (Mailman) 的电子邮件收件箱,该邮件收件箱除了坐在那里捕获邮件列表中其他用户的电子邮件之外什么都不做。这将是 php 连接到一个电子邮件箱,抓取新电子邮件并将它们放入 mysql 数据库,用作可搜索的网络存档。

我注意到许多主题前面都有 RE: FW: FWD(很明显),但我想知道在将数据库结果输出到网络时是否不需要手动删除这些内容以按主题进行分组页面。

也许有一个 PHP/Mail 或 PEAR 类会自动处理我不知道的消息分组/线程。感谢您的帮助!

【问题讨论】:

【参考方案1】:

线程的正确方法不是通过主题,而是通过Message-IDReferences 标头。 References 标头将包含所有先前相关的 Messgage-ID 标头的逗号分隔字符串。通过使用这些,主题行的实际内容变得不那么相关,因为它可以被修改和破坏。在其他情况下,您可能会收到许多单独的主题,例如“需要帮助”等主题,这些主题不应串在一起。

【讨论】:

非常有帮助。非常感谢!【参考方案2】:

您可能想查看ReferencesIn-Reply-To 电子邮件标头。这些为您提供有关当前电子邮件正在回复的电子邮件的信息。

这里有一个很好的基于此信息的电子邮件线程算法:http://www.jwz.org/doc/threading.html

【讨论】:

以上是关于按主题分类电子邮件的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 weka 将电子邮件数据表示为基于讨论主题的分类输入?

删除电子邮件主题中的 [External] 标签,之后无法按主题排序

LDA模型应用实践-希拉里邮件主题分类

按主题对Gmail邮件排序

从主题中提取特定字符串格式以进行排序

使用 urn:schemas 按电子邮件地址搜索