首页 > 解决方案 > 如何以编程方式跟踪电子邮件线程

问题描述

我正在开发一个处理客户查询并向客户发送与其查询相关的电子邮件的系统。当客户回复时,我需要知道电子邮件属于哪个查询(和电子邮件线程)。一位客户可能有多个查询,所以我不能仅根据她的电子邮件地址来判断。

我试着谷歌了一下,似乎在主题和正文中添加某种查询 ID 可能是一个解决方案,但这不是 100% 安全的(客户可以删除两者)。

我还看到,例如 AirBnb 从一个特殊的、唯一的电子邮件地址发送客户电子邮件,我的回复也返回到该地址,但我不知道它是一个查询特定的电子邮件地址还是什么。

由于这似乎是类似系统中的常见问题,因此我将不胜感激任何指向最佳实践的指针。

标签: email

解决方案


我不确定这是否完全符合您的需求,但有一个标准算法,邮件客户端使用该算法通过 Jamie Zawinski 描述的“对话”对消息进行分组,稍后由 IETF 标准组织在此处描述

该算法有许多针对各种语言的实现,包括我自己在 c# 中的实现(源代码)。通常,您可以通过名称“jwz threading algorithm”来搜索它。


推荐阅读