将电子邮件回复路由为适当讨论的评论

时间:2013-01-23 09:49:54

标签: email email-integration

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

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

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

非常感谢

1 个答案:

答案 0 :(得分:1)

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

email header中有一个名为In-Reply-To的字段,其中应包含邮件正在回复的电子邮件的邮件ID,以及一个名称References应该包含的字段In-Reply-To指定此邮件所属的主题:

  

“In-Reply-To:”字段可用于标识消息(或   消息)新消息是回复,而
  “引用:”字段可用于标识
的“线程”   会话。

根据rfc,Message-Id字段应包含“parent”-message的References,而References字段将引用父消息的{{1}}字段。

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

我发现了this一篇关于使用In-Reply-To字段构建线程算法的文章,并声称对这些字段中的垃圾和恶意输入具有强大的功能。