计算机网络:应用层 —— 电子邮件
文章目录
- 电子邮件的起源与发展
- 电子邮件的组成
- 电子邮件协议
- 邮件发送和接收过程
- 邮件发送协议
- SMTP协议
- 多用途因特网邮件扩展MIME
- 电子邮件的信息格式
- 邮件读取协议
- 邮局协议POP
- 因特网邮件访问协议IMAP
- 基于万维网的电子邮件
电子邮件(E-mail)是因特网上最早流行的一种应用,并且仍然是当今因特网上最重要、最实用的应用之一。它通过电子方式发送和接收消息,极大地改变了人们的沟通方式。
电子邮件的起源与发展
电子邮件的历史可以追溯到20世纪60年代的阿帕网(ARPANET)。最初,电子邮件仅用于同一台计算机上的用户之间发送消息,后来逐渐发展为跨网络的通信工具。1971年,雷·汤姆林森(Ray Tomlinson)发明了现代电子邮件系统,并引入了@符号用于区分用户和服务器,奠定了电子邮件的基本格式。
随着互联网的普及,电子邮件成为全球范围内最常用的通信方式之一。如今,电子邮件不仅用于个人通信,还广泛应用于商业、教育、政府等多个领域。
传统的电话通信属于实时通信,存在以下两个缺点:
- 电话通信的主叫和被叫双方必须同时在场;
- 一些不是十分紧迫的电话也常常不必要地打断人们的工作或休息。
而电子邮件与邮政系统的寄信相似:
-
发件人将邮件发送到自己使用的邮件服务器
-
发件人的邮件服务器,将收到的邮件按其目的地址转发到收件人邮件服务器中的收件人邮箱
-
收件人在方便的时候访问收件人邮件服务器中自己的邮箱,获取收到的电子邮件。
电子邮件使用方便、传递迅速而且费用低廉。它不仅可以传送文字信息,而且还可附上声音和图像。由于电子邮件的广泛使用,现在许多国家已经正式取消了电报业务。在我国,电信局的电报业务也因电子邮件的普及而濒临消失。
电子邮件的组成
电子邮件系统采用客户/服务器方式。
电子邮件系统的三个主要组成构件:
-
用户代理(Mail User Agent, MUA):用户与电子邮件系统的接口,又称为电子邮件客户端软件。
-
邮件服务器(Mail Server):电子邮件系统的基础设施。因特网上所有的 ISP 都有邮件服务器,其功能是发送和接收邮件,同时还要负责维护用户的邮箱。
-
协议:电子邮件所需的协议,包括邮件发送协议(例如
SMTP
)和邮件读取协议(例如POP3
,IMAP
)
电子邮件协议
邮件发送和接收过程
电子邮件的发送和接收过程涉及多个协议和服务器的协作,以下是其基本工作流程:
-
发送邮件:用户通过邮件客户端撰写邮件并点击“发送”按钮。邮件客户端使用
SMTP
(简单邮件传输协议)将邮件发送到用户的邮件服务器。 -
邮件服务器之间的转发:发送方邮件服务器使用
SMTP
协议将邮件转发到接收方邮件服务器。如果接收方服务器不可用,邮件将被暂时存储在发送方服务器的队列中,等待重试。 -
接收邮件:接收方邮件服务器接收邮件后,将其存储在用户的邮箱中。用户可以通过邮件客户端使用
POP3
(邮局协议)或IMAP
(互联网消息访问协议)协议从服务器下载或访问邮件。 -
邮件存储与管理:邮件存储在服务器的邮箱中,用户可以通过邮件客户端进行管理,如删除、回复、转发等操作。
邮件发送协议
SMTP协议
简单邮件传送协议SMTP(Simple Mail Transfer Protocol)用于发送电子邮件。当使用电子邮件客户端(如Outlook、Gmail等)发送一封电子邮件时,该客户端会使用 SMTP
协议将邮件发送到指定的 SMTP
服务器。然后,SMTP
服务器会负责将邮件路由到目标邮件服务器。
SMTP
客户与服务器之间,通过命令与应答的交互方式,最终实现 SMTP
客户发送邮件给 SMTP
服务器。
-
客户端与服务器建立 TCP 连接。
-
客户端发送
HELO
或EHLO
命令,标识自己的身份。 -
客户端发送
MAIL FROM
命令,指定发件人地址。 -
客户端发送
RCPT TO
命令,指定收件人地址。 -
客户端发送
DATA
命令,开始传输邮件内容。 -
邮件传输完成后,客户端发送
.
表示结束,服务器返回响应。 -
客户端发送
QUIT
命令,向服务器请求断开连接。
多用途因特网邮件扩展MIME
SMTP协议只能传送ASCII码文本数据,不能传送可执行文件或其他的二进制对象。SMTP
不能满足传送多媒体邮件(例如带有图片、音频或视频数据)的需要。并且许多其他非英语国家的文字(例如中文、俄文、甚至带有重音符号的法文或德文)也无法用 SMTP
传送。
为解决 SMTP
传送非 ASCII 码文本的问题,提出了多用途因特网邮件扩展MIME(Multipurpose Internet Mail Extensions)
-
增加了5个新的邮件首部字段,这些字段提共了有关邮件主体的信息。
-
定义了许多邮件内容的格式,对多媒体电子邮件的表示方法进行了标准化。
-
定义了传送编码,可对任何内容格式进行转换,而不会被邮件系统改变。
-
MIME
不仅仅用于SMTP
,也用于后来的同样面向ASCII字符的HTTP
电子邮件的信息格式
电子邮件的信息格式并不是由 SMTP
定义的,而是在 [RFC 822]
中单独定义的。这个 RFC 文档已在 2008 年更新为[RFC 5322]
。一个电子邮件有信封和内容两部分。而内容又由首部和主体两部分构成。
邮件读取协议
常用的邮件读取协议有两个:邮局协议POP3和因特网邮件访问协议IMAP
POP3
和 IMAP4
都采用基于TCP连接的客户/服务器方式。POP3 使用熟知端口 110,IMAP4 使用熟知端口 143。
邮局协议POP
邮局协议 POP(Post Office Protocol),POP3 是其第三个版本,是因特网正式标准。用于从邮件服务器检索电子邮件。当使用电子邮件客户端从邮件服务器下载邮件时,该客户端会使用 POP3
协议。
POP3
协议允许将邮件从服务器下载到本地计算机,并从服务器上删除这些邮件。但用户只能以下载并删除方式或下载并保留方式,从邮件服务器下载邮件到用户方计算机。不允许用户在邮件服务器上管理自己的邮件。(例如创建文件夹,对邮件进行分类管理等)
POP3
基于 TCP 协议,工作在端口110(明文)或端口 995(加密)。其工作过程为:
-
客户端与服务器建立 TCP 连接。
-
客户端发送用户名和密码进行认证。
-
客户端可以列出邮件列表、下载邮件或删除邮件。
-
完成操作后,客户端发送
QUIT
命令断开连接。
因特网邮件访问协议IMAP
因特网邮件访问协议 IMAP(Internet Message Access Protocol),IMAP4
是其第四个版本,目前还只是因特网建议标准。它是功能比 POP3
强大的邮件读取协议。用户在自己的计算机上就可以操控邮件服务器中的邮箱,就像在本地操控一样,而无需将邮件下载到本地。因此 IMAP
是一个联机协议。
IMAP
基于 TCP 协议,工作在端口143(明文)或端口993(加密)。其工作过程为:
-
客户端与服务器建立 TCP 连接。
-
客户端发送用户名和密码进行认证。
-
客户端可以列出邮箱、选择邮箱、检索邮件、标记邮件等。
-
完成操作后,客户端发送
LOGOUT
命令断开连接。
基于万维网的电子邮件
通过浏览器登录(提供用户名和口令)邮件服务器万维网网站就可以撰写、收发、阅读和管理电子邮件。这种工作模式与 IMAP
很类似,不同的是用户计算机无需安装专门的用户代理程序,只需要使用通用的万维网浏览器。
邮件服务器网站通常都提供非常强大和方便的邮件管理功能,用户可以在邮件服务器网站上管理和处理自己的邮件,而不需要将邮件下载到本地进行管理。
用户在发送和接收邮件时,与服务器之间都使用的是 HTTP 超文本传送协议,而不需要使用 SMTP 和 POP3协议。若用户使用的邮件服务器不同,则邮件服务器使用 SMTP 协议将邮件发送给另一个用户的邮件服务器。