将电子邮件回复作为注释路由到适当的讨论



故事很简单:一个用户创建了一个新讨论,系统向其他用户发送电子邮件通知。当这些用户回复通知时,他们的回复应作为评论正确路由到特定讨论。

当系统发送电子邮件通知时,主题中包含路由代码。例如,通知的主题可能如下所示:"讨论"让我们谈谈"已开始{123}"。由于所有电子邮件客户端都使用Re: ORIGINAL SUBJECT因此我们会{123}作为主题的一部分返回,解析它并知道将评论放在哪里。

我们已经可以工作了(实际上已经有好几年了),但是当前的实现看起来有点脏(尤其是当代码变长时),所以我们想探索替代方案(如果有的话)。是否有一种更优雅的方法可以解决这个问题,在大多数电子邮件客户端上可靠地工作?我们可能缺少的电子邮件标题?类似的东西?

非常感谢

既然你没有提到它,我不确定你是否调查过这个:

电子邮件标头中有一个名为 In-Reply-To 的字段,它应该包含邮件正在回复的电子邮件的邮件 ID 和一个名称References,该名称应指定此邮件所属的线程:

"回复:"字段可用于标识邮件(或
消息),新消息是对其的回复,而
"引用:"字段可用于标识
谈话。

根据 rfc,In-Reply-To字段应包含"父"消息的Message-Id,而References字段将引用父消息的References字段。

此字段的问题在于无法保证其中有一些有用的东西,因为它们不需要正确填写以进行邮件传递,因此某些邮件客户端可能无法正确填写它们,甚至可能根本不填写。

我找到了这篇关于使用 In-Reply-To 字段构建线程算法的文章,并声称对这些字段中的垃圾和恶意输入具有健壮性。

最新更新