首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Gmail收件箱中关联邮件的检索算法

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

Stack Overflow用户
提问于 2020-05-25 14:52:46
回答 1查看 73关注 0票数 1

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

我正在考虑两个人,汤姆和约翰。汤姆已经开始和约翰谈话了。

注:这是汤姆和约翰寄来的一些邮件的代表。

代码语言:javascript
复制
  (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.
  • 汤姆:把他的邮件寄给约翰。
  • 约翰:回复给汤姆的邮件。
  • 汤姆:他又给汤姆发了一条同样的帖子。
  • 约翰:这一次,约翰,对汤姆的第一封邮件给出答复(J- mail -2)
  • 约翰:约翰再一次回复汤姆的第二封邮件。

现在,如果我们在Tom's Gmail的收件箱中看到,我们可以发现John的第一封邮件的回复是与Tom的第一封和最后一封邮件相关联或映射的。

因此,我想知道在服务器端执行上述类型操作的算法是什么。这是如何正确地映射。

以上场景的最终结果。(在汤姆的收件箱中)

代码语言:javascript
复制
(T-mail-1) ::::(Associated/Mapped) ::::: (J-mail-1) and (J-mail-2)

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

谢谢

EN

回答 1

Stack Overflow用户

发布于 2020-05-25 16:46:44

不知道Google到底做了什么但是..。

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

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62004978

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档