闪电邮箱会话功能第二弹:会话计算和显示

gmail的会话合并是通过主题来完成;而且没有参考Header里的字段——做一个简单的测试:回复一封信,换一个主题,然后可以看到回复信和原件并不在一个会话里。

根据主题来确定会话是一定要有的,几个中文webmail只有163、QQ、sohu正确的实现了In-Reply-To,为了更大的兼容性必须如此。

搜狐现在的方案是,同时根据Message-ID、In-Reply-To、References,以及信件的主题来做会话的归属计算。所以在 GMail 里看到的会话和 Sohu 里看到的会不太一样。

GMail 仅仅使用主题来计算可能是优化这种情况:发信人很懒,每次写信都是从读信页面里选择回复,然后换个新主题,删除掉所有内容,而不是重新写一封邮件。我们以后是否也换成这个策略等用户反馈吧

或者可以更智能的从内容里面的引用关系、相关度去计算会话??现阶段还只能想象了。

某些情况下我们会主动 break 会话:

  1. 和第一封时间超过 30 天的 (想象一下你订了一个服务叫“今日股评”)
  2. 会话总数量超过 100 封 (太多了对阅读信件UI是一个灾难)

===============================================

有的时候,信箱里会有2封或多封Message-ID一样的邮件,最简单的情况是你写一封信给自己,这样已发送和收件箱里各有一封;或者你发一封信给邮件列表,邮件列表会重新给你寄一份。

在一个会话里看到两封一模一样的信不那么优雅,我们的规则是这样:

  1. 首先隐藏不在本文件夹的信(比如一封信发给自己,那么在收件箱中,看到的是投递过来的信;在已发送中,看到的是发送出去的信)
  2. 然后隐藏新邮件(这样也是为了防止攻击,恶意顶掉别人发的信件)
  3. 最后保证,一个会话只显示一个 Message-ID
Topic: 商业 技术

评论

设计挺人性化的,会用在什么邮箱上?还有超过100封的而break成的两个会话也应该有一定的联系吧,你们怎么做的?

好像Gmail的回复时点修改主题,就会把In-Reply-To: References: 两个头给去掉。

是这样么?看来我工作还是不细致.

1. GMail 这样做是否算违反协议?

2. 从支持线索的客户端回信给GMail,并修改帐号。它没有将之归入会话——说明它只是靠标题来工作的

今年搜狐的个人邮箱:sohu/vip/chinaren/sogou 都会有这个应用

另外超过100封的两个会话现在还没有联系,还是慢慢来,看用户的接受程度吧。

gmail 的概念是与生俱来的,我们要重头教育用户