Pattern matching 如何识别电子邮件属于现有线程或对话

Pattern matching 如何识别电子邮件属于现有线程或对话,pattern-matching,email,Pattern Matching,Email,我们有一个内部的.NET案例管理应用程序,可以通过电子邮件自动创建新案例。我希望能够识别与原始电子邮件相关的其他电子邮件,以便我们可以防止创建重复案例 我观察到,许多(但不是所有)电子邮件都有一个看起来很有用的线程索引头 有人知道我们可以使用的简单算法或软件包吗?据我所知,不会有100%万无一失的解决方案,因为并非所有电子邮件客户端或网关都保留或尊重所有邮件头 但是,通过以下操作,您将获得相当高的命中率: 每封电子邮件都应该有一个唯一的“消息ID”字段。找到这个,并将其作为案例的一部分进行记录

我们有一个内部的.NET案例管理应用程序,可以通过电子邮件自动创建新案例。我希望能够识别与原始电子邮件相关的其他电子邮件,以便我们可以防止创建重复案例

我观察到,许多(但不是所有)电子邮件都有一个看起来很有用的线程索引头


有人知道我们可以使用的简单算法或软件包吗?

据我所知,不会有100%万无一失的解决方案,因为并非所有电子邮件客户端或网关都保留或尊重所有邮件头

但是,通过以下操作,您将获得相当高的命中率:

  • 每封电子邮件都应该有一个唯一的“消息ID”字段。找到这个,并将其作为案例的一部分进行记录。(见附件)

  • 如果您收到两条具有相同消息ID的消息,请丢弃第二条消息,因为它是重复的

  • 检查“回复”字段,如果显示的ID与已知邮件ID匹配,则您知道该电子邮件是相关的

  • “引用”和“原始消息ID”标题具有相似的含义

如果您的系统曾经生成过电子邮件,请在主题行中包含一个CaseID,这样您可以在收到电子邮件后搜索它(例如:[Case#20081114-01]);大多数人在回复时不编辑主题行

互联网标准,并可能有助于进一步阅读

考虑到总是会有遗漏的消息(无论出于何种原因),您可能还需要案例管理系统中的相关功能,如“以重复案例关闭”或“与重复案例合并”,以及更容易找到重复的工具。

使用