邮件的发展历史和重要协议的作用

原创 2018-12-30 16:13 阅读(984)次

Email已经盛行了很多年。但里面的一些原理并不是很多人都懂的。本文深入浅出来介绍这个概念




一、Emali的起源: 这段没兴趣可以跳过

1965 年,麻省理工学院(MIT)开发了名为「MAILBOX」的电子邮件系统,但它只能在同一台电脑上使用。在 1960 年代,电脑不像今天这么廉价易得,每一台大型计算机都有超过 100 位的使用者。每一个使用者都要从「哑终端 (dumb terminals)」上通过自己的办公桌面连接到大型计算机上,这些哑终端没有存储空间,他们必须连接到大型机上工作(这个原理可以跟现在无盘工作站类比一下)。

也就是刚开始邮件只能发到同一个计算机上的其他用户手上。

1971 年,Tomlinson 是美国 BBN 公司的一名工程师,负责 ARPANET(阿帕网)相关的工作。而作为其中的一员,Tomlinson 对电子邮件自然有比较好的理解。他在键盘上选择了「@」作为计算机之间发送信息的标志,并发出了人类历史上第一封真正意义上的电子邮件。他改良了 SNDMSG 这个在当时使用的信息传送程序(SNDMSG 只能在本地机器上运行,方便使用同一台机器的人共享一些短消息),终于发出了跨计算机的第一封电子邮件。

终于可以跨计算机发送邮件了。

后面这些就当故事背景了解吧。

从 80 年代中期开始,电子邮件被广泛使用。我国发出的第一封电子邮件就在 1987 年,是由北京计算机应用技术研究所发送到德国的。
1988 年,世界上第一个商用邮件系统 Eudora 出现,发明者是美国软件工程师 Steve Dorner。
1990 年,HTML 格式的邮件出现,除了文字之外,我们也能在邮件中看到图片了。
1992 年,MIME 协议(多用途互联网邮件扩展,Multipurpose Internet Mail Extensions)诞生,它扩展了电子邮件标准,使其能够支援更多种形式的内容。也是在这一年,微软在 MS-DOS 系统上,推出了 Outlook 邮件应用。
1996 年,世界上第一个以网页为基础的邮件应用 Hotmail 诞生,然后微软在下一年花了 4 亿美元买下了它。


二、什么是Email

EMAIL,又叫电子邮件,是—种用电子手段提供信息交换的通信方式,是互联网最常用的服务。通过网络的电子邮件系统,用户可以以非常低廉的价格(不管发送到哪里,都只需负担网费)、非常快速的方式(几秒钟之内可以发送到世界上任何指定的目的地),与世界上任何一个角落的网络用户联系。

电子邮件可以是文字、图像、声音等多种形式。同时,用户可以得到大量免费的新闻、专题邮件,并实现轻松的信息搜索。电子邮件的存在极大地方便了人与人之间的沟通与交流,促进了社会的发展。


三、原理

电子邮件在Internet上发送和接收的原理可以很形象地用我们日常生活中邮寄包裹来类比:当我们要寄一个包裹时,我们首先要找到任何一个有这项业务的邮局,在填写完收件人姓名、地址等等之后包裹就寄出,而到了收件人所在地的邮局后,对方取包裹的时候就必须去这个邮局才能取出。同样的,当我们发送电子邮件时,这封邮件是由邮件发送服务器(可以是任何一个)发出,并根据收信人的地址判断对方的邮件接收服务器而将这封信发送到该服务器上,收信人要收取邮件也只能访问这个服务器才能完成。

以一个邮件发送为例来看看图示:


图示的六个步骤分别进行如下的说明:

  ①、用户A的电子邮箱为:xx@qq.com,通过邮件客户端软件写好一封邮件,交到QQ的邮件服务器,这一步使用的协议是SMTP,对应图示的①;

  ②、QQ邮箱会根据用户A发送的邮件进行解析,也就是根据收件地址判断是否是自己管辖的账户,如果收件地址也是QQ邮箱,那么会直接存放到自己的存储空间。这里我们假设收件地址不是QQ邮箱,而是163邮箱,那么QQ邮箱就会将邮件转发到163邮箱服务器,转发使用的协议也是SMTP,对应图示的②;

  ③、163邮箱服务器接收到QQ邮箱转发过来的邮件,也会判断收件地址是否是自己,发现是自己的账户,那么就会将QQ邮箱转发过来的邮件存放到自己的内部存储空间,对应图示的③;

  ④、用户A将邮件发送了之后,就会通知用户B去指定的邮箱收取邮件。用户B会通过邮件客户端软件先向163邮箱服务器请求,要求收取自己的邮件,对应图示的④;

  ⑤、163邮箱服务器收到用户B的请求后,会从自己的存储空间中取出B未收取的邮件,对应图示⑤;

  ⑥、163邮箱服务器取出用户B未收取的邮件后,将邮件发给用户B,对应图示的⑥;最后三步用户B收取邮件的过程,使用的协议是POP3;

  上面的步骤可能大家不太明白,这里面出现了很多名词,比如邮件客户端软件,邮件服务器,SMTP和POP3协议(邮件传输协议)等等。不明白没关系,接下来我们来详细介绍这些名词。


四、主要协议

常见的电子邮件协议有以下几种:SMTP(简单邮件传输协议)、POP3(邮局协议)、IMAP(Internet邮件访问协议)。这几种协议都是由TCP/IP协议族定义的。
SMTP(Simple Mail Transfer Protocol):SMTP主要负责底层的邮件系统如何将邮件从一台机器传至另外一台机器。
POP(Post Office Protocol):版本为POP3,POP3是把邮件从电子邮箱中传输到本地计算机的协议。
IMAP(Internet Message Access Protocol):版本为IMAP4,是POP3的一种替代协议,提供了邮件检索和邮件处理的新功能,这样用户可以完全不必下载邮件正文就可以看到邮件的标题摘要,从邮件客户端软件就可以对服务器上的邮件和文件夹目录等进行操作。IMAP协议增强了电子邮件的灵活性,同时也减少了垃圾邮件对本地系统的直接危害,同时相对节省了用户察看电子邮件的时间。除此之外,IMAP协议可以记忆用户在脱机状态下对邮件的操作(例如移动邮件,删除邮件等)在下一次打开网络连接的时候会自动执行。

在大多数流行的电子邮件客户端程序里面都集成了对SSL连接的支持。

五、细节分析

参考上图,如下比喻

SMTP邮件服务器:用户替用户发送邮件和接收外面发送给本地用户的邮件,对应上图的第一、二步。它相当于现实生活中邮局的邮件接收部门(可接收普通用户要投出的邮件和其他邮局投递进来的邮件)。

POP3/IMAP邮件服务器:用户帮助用户读取SMTP邮件服务器接收进来的邮件,对应上图的第六步。它相当于专门为前来取包裹的用户提供服务的部门。

电子邮箱也称为E-mail地址,比如用户A的xx@qq.com,和用户B的xx@163.com。用户能通过E-mail地址标识自己发送的电子邮件,同时也可以通过这个地址接收别人发来的电子邮件。电子邮箱需要到邮件服务器进行申请,也就是说,电子邮箱其实就是用户在邮件服务器上申请的账户。邮件服务器会把接收到的邮件保存到为该账户所分配的邮箱空间中,用户通过用户名密码登录到邮件服务器查收该地址已经收到的邮件。一般来讲,邮件服务器为用户分配的邮箱空间是有限的。

邮件客户端:我们可以直接在网站上进行邮件收发,也可以用邮件客户端软件。比如常见的FoxMail,Outlook Express。邮件客户端软件通常集邮件撰写,发送和收发功能于一体,主要用于帮助用户将邮件发送给SMTP邮件服务器和从POP3/IMAP邮件服务器读取用户的电子邮件。

本文完。

上一篇:CI/CD的意义
下一篇:DNS的原理