检索Gmail收件箱中存在的关联邮件的算法



我想知道Gmail检索相关邮件的算法。

示例:我正在考虑两个人,汤姆和约翰。汤姆开始与约翰对话。

注意:这些是汤姆和约翰发送的邮件的一些表示

(J-mail-1) : John's first mail.
(T-mail-1) : Tom's first mail.
(T-mail-2) : Tom's second mail.
(J-mail-2) : John's second mail.
(J-mail-3) : John's third mail.
  • 汤姆:从他的邮件中发送邮件给约翰。T-mail-1(
  • 约翰:回复邮件给汤姆。(J-mail-1(
  • 汤姆
  • :他又给汤姆发了同样的帖子。(T-mail-2(
  • 约翰
  • :这次约翰,回复汤姆发送的第一封邮件(J-mail-2(
  • 约翰
  • :约翰再次回复汤姆的第二封邮件。(J-mail-3(

现在,如果我们在汤姆的Gmail的收件箱中看到,我们可以找到约翰的第一封邮件的响应与汤姆的第一封邮件和最后一封邮件相关联或映射。

所以,我想知道服务器端的算法是什么算法来执行上述类型的操作。如何正确映射。

上述情景的最终结果。(在汤姆的收件箱中(

(T-mail-1) ::::(Associated/Mapped) ::::: (J-mail-1) and (J-mail-2)
(T-mail-2) :::: (Associated/Mapped) :::::  (J-mail-3)

谢谢

不知道谷歌到底是做什么的,但是...

RFC 2822(以及许多其他(定义了电子邮件。每封电子邮件都应有一个邮件 ID,在Message-ID:标头中传递。当您回复电子邮件时,邮件客户端包含一个In-Reply-To:标头,其中包含您回复的邮件的邮件 ID 的值(第 3.6.4 节(。现在,在收件箱中,您可以查看每封电子邮件,检查它是否有In-Reply-To:标题,然后查找具有该ID的电子邮件。那将是它的父级。

一些迟钝的电子邮件客户支持系统可能会丢弃In-reply-to:标头。作为第二个最佳猜测,您可以查看电子邮件的Subject:标题并使用正则表达式查看两封电子邮件是否可能来自同一对话:如果它们仅在"Re:"前缀上不同,则它们可能位于同一对话中。计算"Re:"前缀并比较时间戳以找出对话顺序。

最新更新