按主题处理电子邮件


Threading emails by subject

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

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

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

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

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

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