email - 如何以编程方式跟踪电子邮件线程
问题描述
我正在开发一个处理客户查询并向客户发送与其查询相关的电子邮件的系统。当客户回复时,我需要知道电子邮件属于哪个查询(和电子邮件线程)。一位客户可能有多个查询,所以我不能仅根据她的电子邮件地址来判断。
我试着谷歌了一下,似乎在主题和正文中添加某种查询 ID 可能是一个解决方案,但这不是 100% 安全的(客户可以删除两者)。
我还看到,例如 AirBnb 从一个特殊的、唯一的电子邮件地址发送客户电子邮件,我的回复也返回到该地址,但我不知道它是一个查询特定的电子邮件地址还是什么。
由于这似乎是类似系统中的常见问题,因此我将不胜感激任何指向最佳实践的指针。
解决方案
我不确定这是否完全符合您的需求,但有一个标准算法,邮件客户端使用该算法通过 Jamie Zawinski 描述的“对话”对消息进行分组,稍后由 IETF 标准组织在此处描述。
该算法有许多针对各种语言的实现,包括我自己在 c# 中的实现(源代码)。通常,您可以通过名称“jwz threading algorithm”来搜索它。
推荐阅读
- javascript - 如何在 vue 测试工具中模拟 @click="openModal($index)"
- firebase - 从 Firestore Flutter 中删除文档及其子集合
- javascript - 遇到 TypeError:无法读取 Discord.JS 中未定义的属性“0”
- node.js - 如何绕过 Zeplin API 速率限制错误
- javascript - Google Sheet 的正确格式和命令 - Json 馈送数据表
- c# - LINQ - 按 StartsWith 排序,然后包含(自动完成)
- react-native - purchaseUpdateListner 在导航到先前购买的订阅页面时被多次调用
- android-fragments - 从 DialogFragment 观察 - 在哪里以及与哪个生命周期所有者一起?
- reactjs - 如何减少 Web RTC 噪音,对话期间的点击声音
- mariadb - 查看创建数据库的 SQL 查询?