X.400 对比 SMTP:电子邮件的发展与选择
X.400 指明可能性,SMTP 决定实际做法
如果电子邮件发展历程不同,写错内容时上一封邮件可撤回或被新版本取代,还能安排邮件一小时后送达,若午夜前未读可自动销毁。也不用输入“按照我之前的邮件”,可关联邮件构建个人通信维基百科,向组织或部门发消息时邮件应用会确保可送达。早在互联网邮件具备某些功能的多年前,X.400 就有添加附件、撰写多语言邮件、邮件已读通知等功能,加密功能也从一开始就内置。所有这些及更多功能,都在 1984 年的 X.400 规范《人际消息传递》中标准化,它涵盖如今“电子邮件”的所有功能甚至更多。
一位评论者回忆过去有更好的系统 X.400,认为成为现代电子邮件发送标准的 SMTP“获胜并非因为它‘更好’,而仅仅是因为它更容易实现,就像一辆没有刹车和安全带的汽车”。开发者 Marshall T. Rose 也认同 X.400 是开放系统互连(OSI)所产生成果中最成功的。X.400 电子邮件地址是类似 `C=no; ADMD=; PRMD=uninett; O=uninett; S=alvestrand; G=harald` 的爆炸路径式地址,而 SMTP 电子邮件地址是 `Harald.Alvestrand@uninett.no` 形式。他总结说这有点像说第二次世界大战是大萧条的成功结局。
制定标准的历程
在尼尔·阿姆斯特朗踏上月球的六个月前,美国国防部开始建设 ARPANET,Ray Tomlinson 将文件传输软件、ARPANET 网络和 `@` 符号结合,1971 年电子邮件诞生,很快占据 ARPANET 超过四分之三的流量。随后 CompuServe 在 1978 年为企业提供电子邮件服务,一年后向消费者开放,用户可用数字 ID 发送消息,还可订阅 The Source、MCI Mail、AppleLink 等。
电信公司和政府纷纷加入热潮,1982 年英国电信推出 Telecom Gold 电子邮件解决方案,美国邮政服务试图通过 E - COM 垄断纸质电子邮件。国会认为三分之二或更多的邮件流可通过电子方式处理。然而,这些电子邮件大多在封闭系统内发送,电子邮件发源地也混乱,1982 年试图对电子邮件进行标准化的 RFC 822 指出 ARPANET 采用了几种非正式标准,必须有人让电子消息使用相同语言。于是,联合国介入,一份旨在对电子邮件进行标准化的文件开篇提及需要制定标准促进国际消息交换,电子邮件本可成为国际标准。
联合国介入与标准竞争
如今联合国认为电子邮件应清晰简洁,建议邮件专注单一主题、句子简短有意义、避免行话等。在联合国支持下,1984 年 10 月电子邮件几乎按 X.400 规范实现标准化,但该规范复杂且充满行话。《数据通信网络消息处理系统》文件长达 266 页,用六页描述编写邮件地址却未展示完整地址,X.400 地址格式多样。
而两年前,简单邮件传输协议(SMTP)仅用 68 页阐述清楚,其目标是可靠、高效地传输邮件,基于 ARPANET 最初的电子邮件协议和早期的邮件传输协议构建,电子邮件地址采用简洁的 user@domain 格式。很快,社区的努力战胜了委员会的方案。
规定与描述的差异
1993 年出版的《X.4XX 简介》指出,在大多数情况下几乎不可能使用 X.400 建议,它被设想为一种工具而非产品。X.400 规范规定结果,而 SMTP 通常精确描述事情运作方式。
例如,X.400 对发送消息的描述说明了期望结果,而 SMTP 通过具体命令名称和交互步骤描述发送电子邮件的过程。X.400 被设想为意识形态框架,其难看的地址格式有解决某些问题的理由,用户喜欢 X.400 的理念、互操作性和更丰富的电子邮件功能潜力,企业和政府被其安全特性吸引,到 1989 年有 22 家电子邮件软件供应商支持 X.400。
但用户也对使用 X.400 的难度和不完善的实现感到惊讶。MIME 协议的作者 Nathaniel Borenstein 表示 X.400 是“自上而下”的,AT&T 或英国电信理论上易实现标准,但一旦消息离开封闭系统,X.400 的保证就会失效。因此,X.400 最初的互操作性使命注定失败,不同供应商的系统之间几乎不可能交换消息,在 X.400 生态系统内部形成无法正常运行的系统。
与此同时,简单邮件传输协议迅速传播,到 1993 年,联合国也开始同时通过 X.400 和互联网发送电子邮件。前 Dialcom 员工 Chris Marshall 认为 X.400 输给简单的 SMTP 和 POP 是因为它复杂。Carroll 推测 X.400 已死是因为它不如电话、传真和互联网电子邮件简单。
X.400 的现状
如今,一般不会用 X.400 发送电子邮件,除非从事航空领域工作,航空消息处理系统(AMHS)通信仍基于 X.400 标准,X.400 在军事、政府和银行业中仍有少量应用,也曾为环球银行金融电信协会(SWIFT)的资金转移标准提供支持。
使用与 Microsoft Exchange Server 搭配的 Microsoft Outlook,可能会发现它与 X.400 及相关的用于目录的 X.500 标准有相似之处,Exchange 在 SPF、DKIM 和 DMARC 出现之前就内置了身份验证功能,其投递报告比 SMTP 的同类报告更详细。
