Home / 기술 자료 / 博客 / 金笛邮件博客

作者:macs

即时通讯(IM)到底能不能取代电子邮件?这是个很有意思的问题,已经讨论了很长的时间,但是也没有结果。在这篇文章中,我来谈谈我的看法。

电子邮件和IM的架构

邮件通过SMTP协议传到发送方的服务器,之后发送方服务器把邮件发送至接收方服务器,接收方从服务器上用IMAP协议取回邮件。

电子邮件是去中心化的,用户可以选择不同的服务器,而且不同服务器的用户之间可以通信。这种协议被成为联邦式(federated)协议。

一般人谈IM的时候,认为IM是中心化的,典型的例子有QQ、微信、Telegram、WhatsApp等等,但是除了这些之外,还有去中心化的IM.

去中心化的IM可以分为3种。

一种是类似IRC、MatterMost这类自托管服务,服务可以运行在不同的服务器上,用户可以用一个服务器上的服务,但是不同服务器间的用户不能直接通信。这类服务相对中心化服务的优点是数据和用户信息可以存放在一个用户选择的服务器上,避免大企业或监控部门窥探用户隐私,适合企业使用。

一种是和邮件类似的联邦式服务,XMPP和Matrix都是联邦式的IM协议,比较接近现代IM的特点。

还有一种是P2P的服务,如Tox和GNU Ring.P2P的服务虽然也有服务器,但它们是只用于帮助用户发现其他用户。一旦用户找到通信的另一方,通信数据直接在通信双方之间传送,不经过服务器。

邮件列表和群聊

之前提到的用法都是一对一的通信,没有提到群聊的问题。这里简单地谈谈电子邮件和IM的群聊的特点。

电子邮件的群聊最为灵活,用户可以指定多个收件人,还可以指定Reply-to字段让接收方回复到特定地址,指定CC和BCC字段设置抄送。特别的,BCC字段可以对接收方隐藏发送方的其他收件人,当然,这个前提是服务器不泄漏相关信息。通过在邮件中指定多个收件人,可以实现邮件的群聊,而且这个群聊没有中心服务器,和Matrix的聊天室是一样的。

电子邮件实现群聊的另一方式是邮件列表,邮件列表有中心服务器。邮件列表的使用方式和论坛类似,邮件列表有一个地址,用户把邮件发送到邮件列表的地址,之后订阅了邮件列表的用户会收到列表中的新邮件。在邮件列表中回复邮件,相当于论坛里面的回帖操作。从架构上看,邮件列表和XMPP的MUC比较相似,聊天室在一个中心服务器上,这个服务器负责了所有消息的转发。

而IM群聊的架构基本上就分为以上两类。联邦式IM的聊天室——Matrix聊天室和XMPP MUC,在上文已经提及。中心化IM的聊天室显然也在中心服务器上,而P2P的IM协议的群聊则是完全地去中心化。

消息存储

电子邮件的协议让邮件服务器存储所有的消息,除非用户删除或数据量超过了限制,这确保了用户可以随时收到消息。

早期的IM并不存储消息。从即时通信的使用场景看,大多数消息也不需要长期存储。但是现代IM都有消息存储的特性。

Matrix协议的设计是让服务器长期存储消息,让用户可以获取甚至搜索历史消息,在多设备的情形下可以让所有设备都看到历史记录(甚至是已加密的历史记录)。而XMPP的消息存档(Message Archive Management, MAM)可以让服务器存放一定量的消息,但不是长期存储,主要还是用于少量的离线消息和应对网络不稳定的情况。

至于P2P的IM协议,由于无服务器,存储消息比较困难,而且离线消息也不易实现。

端到端加密

由于用户越来越重视隐私,端到端加密是现代IM重点宣传的特性之一。

电子邮件的主要的端到端加密方式是OpenPGP,它已经用了很多年,现在仍然流行。OpenPGP使用公钥加密和对称密码确保数据的保密性,用数字签名确保数据的完整性和发送方验证,数字签名具有不可否认性。

由于OpenPGP的公钥加密中,每次加密的加密密钥都是收件人的公钥,一旦对应的私钥泄漏或被破解,则所有用该密钥加密的消息都会被解密。因此,也有黑客做有前向安全(forward secrecy)的邮件加密方案。 opmsg 和短信应用 silence 是具有前向安全的邮件或类似通信方式的加密方案。

即时通信的端到端加密经过了几代发展。最早的OTR使用密钥交换实现前向安全和未来安全(future secrecy),同时OTR提出IM的端到端加密应当在保证完整性的同时做到可否认,因此使用基于对称密码的消息验证码(Message Authentication Code, MAC),而不是数字签名,来实现完整性。而SCIMP使用基于散列迭代的方式产生加密密钥实现前向安全。Open Whisper Systems 将两种密钥产生方式结合,创造了 Double Ratchet 算法。现代的端到端加密算法大多基于 Double Ratchet 算法。而端到端加密的可否认性从OTR单纯使用对称密钥,到Open Whisper Systems的3DH,再到OTRv4的DAKE,在不断地改进。

电子邮件和IM的用户接口

电子邮件的一般用法是,用户填写收件方地址、主题和内容,然后发送。电子邮件的用法比IM要灵活很多:

  • 电子邮件可以按主题分类管理。当然了,IM也可以,但是需要根据不同主题创建多个聊天室。
  • 如果是讨论一个领域下的多个主题,那么邮件列表很方便,IM则无法应对一个群体讨论中不断有不同的人发起新主题的情况。邮件列表的消息归档更是IM很难做到的。
  • 电子邮件可以很方便地指定多个收件人进行群发,可以选择性地让收件人看到这封邮件的一部分收件人。这点IM做不到,同时开多个私聊的话,每个接收方都只能看到发送方;群聊的话,所有人都能看到参与讨论的所有人,并且回复消息也是对群里所有人,而不能只回复给部分人。

但是电子邮件的灵活性,也使得操作更为复杂,对于简短的消息,IM的发送比电子邮件要快。

有的邮件客户端,通过设计一个用户界面,使得电子邮件拥有类似IM的操作方式,并且让用户不必为了有IM的体验而申请一个IM的帐号。

其他

从使用习惯上来看,虽然电子邮件和IM都能发送各种长度的消息,但是短消息通常使用IM,长消息或者不需要得到立即回复的消息通常使用邮件,并且邮件的写法比较正式。

大多数即时通讯服务有联系人/好友系统,通过认证才能发送消息,这在一定程度上避免了垃圾邮件的问题。

使用建议

由于电子邮件的灵活性,我认为IM还不能取代电子邮件。同时,由于目前电子邮件服务的普遍部署,用户通常使用中心化的IM服务,在正式的工作中,用电子邮件也更合适。而IM的操作更加简洁,它很适合简短的交流,它可以作为电子邮件的一个很好的补充。

对于IM服务的选择,我选择联邦式的XMPP和Matrix,它们都是开放协议,客户端和服务器都有自由软件实现。在公共聊天中,P2P的协议隐私性最好,但是没有消息存储,实用性不太好,可以作为一种联系方式的补充。中心化服务中,Telegram有自由软件客户端,可以使用,但是有被封锁和服务被强制关停的风险。没有自由软件客户端的IM不要使用。

端到端加密功能在现代的通信中越来越重要,无论是使用邮件还是任何一种IM,如果可能的话,在非公开聊天中尽量启用端到端加密。即使不能及时验证密钥和用户身份的对应关系,使用端到端加密也能防止被动监听。

 

电子邮件已经存在了35年了, 依然在很多方面不可替代。

 

邮件通过SMTP协议传到发送方的服务器,之后发送方服务器把邮件发送至接收方服务器,接收方从服务器上用IMAP协议取回邮件。

 

电子邮件是去中心化的,用户可以选择不同的服务器,而且不同服务器的用户之间可以通信。这种协议被成为联邦式(federated)协议。

 

电子邮件的群聊最为灵活,用户可以指定多个收件人,还可以指定Reply-to字段让接收方回复到特定地址,指定CC和BCC字段设置抄送。特别的,BCC字段可以对接收方隐藏发送方的其他收件人,当然,这个前提是服务器不泄漏相关信息。通过在邮件中指定多个收件人,可以实现邮件的群聊。

 

电子邮件实现群聊的另一方式是邮件列表,邮件列表有中心服务器。邮件列表的使用方式和论坛类似,邮件列表有一个地址,用户把邮件发送到邮件列表的地址,之后订阅了邮件列表的用户会收到列表中的新邮件。在邮件列表中回复邮件,相当于论坛里面的回帖操作。从架构上看,邮件列表和XMPP的MUC比较相似,聊天室在一个中心服务器上,这个服务器负责了所有消息的转发。

 

电子邮件的协议让邮件服务器存储所有的消息,除非用户删除或数据量超过了限制,这确保了用户可以随时收到消息。

 

由于用户越来越重视隐私,端到端加密是现代IM重点宣传的特性之一。

 

电子邮件的主要的端到端加密方式是OpenPGP,它已经用了很多年,现在仍然流行。OpenPGP使用公钥加密和对称密码确保数据的保密性,用数字签名确保数据的完整性和发送方验证,数字签名具有不可否认性。由于OpenPGP的公钥加密中,每次加密的加密密钥都是收件人的公钥,一旦对应的私钥泄漏或被破解,则所有用该密钥加密的消息都会被解密。因此,也有黑客做有前向安全(forward secrecy)的邮件加密方案。但这种加密方式使用起来并不方便,金笛采用Autocrypt实现自动端到端加密,无需任何繁琐设置。

 

 

随着技术的发展,电子邮件也不是一成不变的。电子邮件的技术也在不断发展。一个大的趋势是, 从PC端向移动端发展,邮件能随时随地接收、查看、提醒,在多个终端设备能保持同步,同时对安全性要求有增强。

 

协议也从过去的POP3协议,渐渐过渡到IMAP协议。IMAP协议比POP3协议的好处是,邮件主题、正文、附件可以按需下来,邮件保存在服务器端,按需下来,节省流量,节约时间。

 

金笛邮件系统通过好友机制,可以象即时通信软件一样使用电子邮件,杜绝了垃圾邮件,新邮件到达立即提醒,多终端自动保持同步,适应了现在的工作节奏。基于电子邮件,政企客户可以构建新一代即时电子邮件系统,把信息牢牢掌控在自己手中,防止机密外泄,夯实组织的通信基石。

今天看到一篇文章,值得思考。目前来说 QQ 和微信是个即时聊天工具,更多的工作信息还是会跟客户使用邮件沟通。而且,绝大部分大公司,都还是使用邮件来进行沟通的。

因为国内的各种社交软件、程序都是内封闭试,比如QQ、微信不开放,QQ只能跟QQ聊天,微信只能跟微信聊天,这强中心化模式,代码都是掌握在特定团体的少数人手里,虽然对该软件企业来说很好的圈着用户,但是其他人就尤其头疼,不透明,变化不可控。

我们经常会遇到这么一个问题,我喜欢用QQ,你喜欢用微信,到底是我该迁就你使用微信呢,还是你得迁就我使用QQ?都是中国人,或者你会说两者都可以,我都有装,那国际上使用时中国人用微信,日本人和泰国人都用 LINE,印度人用 whatsapp,美国人用 Facebook Messenger。当美国人遇到日本人时,是让美国人下载 LINE 好呢,还是让日本人下载 Facebook Messenger 好呢?你也许会说,不就下载一个 APP 吗?有什么麻烦的?我可以将就别人啊,对方用什么软件我就下载什么来用。但就算用大家都用一款软件,别人还不一定想加你呢!

而反观电子邮件是去中心化的通信工具,整个世界、整个网络都使用一个标准,大家都有一个唯一的地址。比如你手中的网易 163 邮箱,不仅可以跟腾讯 QQ 邮箱通信、还可以跟新浪 Sina、微软Hotmail/Outlook、谷歌 Gmail 等各个平台当中都是平等互通的。

所以,QQ微信会常用,毕竟这是我们国内的顶级聊天工具,但是缙哥哥也会每天登陆邮箱看看,无论是工作邮件还是订阅的内容,效率远远高于社交软件。

让我们一起来看看原文是怎么说的:

据《2018中国移动消费者调研》显示,中国人查看电子邮件的次数与全球用户相比少22%。在中国,工作中最常被使用的是微信:根据企鹅智酷发布的《2017微信用户&生态研究报告》,在2万受访人群中,80%以上的人会使用微信办公,而通过电子邮件办公的仅占22.6%,继电话、短信和传真与QQ排在第四位。

西方国家的情况则截然相反。在那里,电子邮件仍然占据着主导地位。在美国和英国,电子邮件是最普及的线上活动,拥有约 90% 的互联网用户。电子邮件的日常使用居于所有线上活动首位,超过了社交媒体、网络购物和音视频消费等其他在线活动。

为什么在即时通讯技术如此发达的当下,西方人仍选择邮件作为主要的沟通方式呢?我觉得原因主要有以下几点:

  1. 保存证据,一封邮件包含的内容很多,还包括几个人的发言,不存在附件过期的情况,一旦出现什么法律纠纷,邮件可以做为具有说服力的证据。反观微信,发送的附件7天后过期,一旦需要进行追责,往往会因为附件消失而找不到证据。
  2. 易于搜索,国外电子邮件例如 Gmail 的搜索功能非常强大,10G+ 的邮件通过关键字可以快速找到指定的邮件。
  3. 方便,电子邮件跨平台,云端保存内容,不占用手机空间,几十G的邮件可以轻松管理,而微信一旦容量过大,速度会明显变慢,而且占用宝贵的手机空间。
  4. 安全性好,对于微信来说,一旦手机丢了,所有微信内容也一起丢了,这种安全性对于企业办公来说是不可接受的,而电子邮件全都保存在服务器端,手机、电脑都丢了,邮件还在,不会丢。
  5. 时间管理,邮件可以通过过滤器自动把邮件划分为不同类型,自动分开办公邮件和私人邮件,这样,用户可以在某一个时间段集中处理邮件,提高办公效率。而微信这是不停弹出新消息,让人不得不立刻处理消息,实际上降低了处理信息的效率。
  6. 开放性,平台和底层协议都是开放的,不同的电子邮件平台都基本遵循相同的通讯协议,用户可以方便的在不同的邮件平台中切换,不存在一个平台垄断电子邮件的可能性。电子邮件的通讯协议是开发的,第三方应用可以通过电子邮件的协议做成各种APP,例如邮件客户端、邮件自动化程序,或者将电子邮件的功能集成到业务应用里,业务系统里达到某个条件自动触发电子邮件发送。微信则是一个封闭的系统,整个通讯协议都是封闭的,只开放了少数接口,每个接口还有非常多的功能限制。
  7. 功能限制,电子邮件的功能限制少,知道了对方的电子邮件地址,就可以给对方发送邮件,虽然这也带来了垃圾邮件的泛滥,但总的来说,现代的电子邮件系统都可以自动智能过滤很多垃圾邮件。电子邮件发送没有关键字限制,发送的内容一般都能准确送达。微信则限制很多,通讯双方都必须要安装微信,通讯前必须先加对方好友,对方通过之后才能发送信息,早起微信的好友数目还有限制,发送的内容微信会进行关键字过滤,某些特定的内容发送后对方不一定能收到。
  8. 保护个人空间,比起微信等即时通讯平台,电子邮件能更好地保护员工的个人空间。很多时候,微信等即时通讯软件的对话被视为非官方的私人通信,而电子邮件可以被视为官方的交流,通过平台,就可以将工作和生活区分开,工作日的时候才看邮件,周末个人休息就用即时通讯软件。工作的内容不会在非工作时间入侵个人生活,很好的保护了员工的休息时间。