一、概述
电子邮件 EMAIL ,是通过计算机网络进行通信的电子化信息传递系统,早期其功能和普通的
邮件类似是电子文字。最早邮件系统可追溯到大型机上的不同邮箱间的报文移动,是本地的,
但不能在不同组织的计算机间通信。
电子邮件系统主要功能:
创建:电子邮件内容起草和编辑。
发送:用户将创建的文件发送,并存放到接收者 的邮箱中。
接收:接收用户从邮箱中取回自己邮件,并在计算机显示器上阅读。
转发和管理:用户可以对收到(或创建)邮件进行回复、转发、删除和存储。
发送
SMTP ( Simple Mail Transfer Protocol ): 81 年定义的简单邮件传输协议 SMTP ,只能传送字
符,信息的主体限制为 ASCII 码, 7 位 ASCII 码共 127 个字符(英文大小写字符、 09 等)。
二、电子邮箱和 EMAIL 地址结构
Internet 发送电子邮件也需要用户地址;电子邮箱的地址(电子邮件地址或 EMAIL 地址)。电
子邮件地址是唯一的,每个电子邮件地址实际有两部分地址构成, 1 、邮箱名, 2 、存放邮箱的
主机域名。
在电子邮件系统中,每个人必须被赋予一个电子邮箱,电子邮箱实际是一个被动的存储区,电
子邮件只发送到接收者邮箱中。
电子邮箱是私有的,任何人可以通过邮件软件在邮箱中放入邮件,但只有邮箱的拥有者在身份认
证以后,才能读取和取消邮件。与传统邮箱不同的是:电子邮箱通常和计算机帐户相关。
- 首先,满足互联网不同邮件系统的用户之间实现电子邮件交换。发送方通过互连网计算机域名发送
一个邮件到接收方邮箱计算机。 - 第二,不同 EMAIL 系统可以自由选择自己的邮箱标识机制,电子邮件地址的第一部分确定邮件放入
哪个邮箱,只有本地意义;用户访问邮箱存取自己邮件。
三、邮箱基本格式
早期的 Email 系统是只传送字符的,不能传送二进制数据, IETF 定义的 MIME ( Multipurpose
Internet Mail Extensions) 协议,允许邮件发送方将信息分成几个部分,各部分可用不同的格式完
成传送。
MIME实现多类型信息传送
- 第一部分称为头部,主要包括发、收方地址、日期和主题;目前头部还可以有转送或暗送等条
目,在使用 MIME 时增加附件标题等内容。每个头部行开始是行关键字,然后是冒号,接着才是
该行信息。 - 第二部分是邮件信息主体,即信息文本;第一、二部分之间用空行分割。在使用 MIME 包含
多个其他多媒体二进制信息,它们是任意编辑的。
四、邮件传输
STMP协议
STMP前置协议为TCP
当用户按以上的格式完成邮件并发送后,电子邮件接口软件把该邮件置于邮件暂存队列中,由邮件
传输程序管理。向本地计算机用户发送邮件是简单的,只需传输程序在本地用户邮箱中添加邮件即
可。
向互联网远程用户发送邮件相对复杂,首先进行互联网连接,然后,邮件传输软件作为客户与远程计
算机的邮件服务器通信,实际发送的邮件是一个副本。
SMTP ( Simple mail transfer protocol) ,定义了相互通信的 C/S 端两个 SMTP 进程间的如何信息交
互,但未定义邮件内部格式、邮件存储、发送速度和邮件如何递交(谁来完成?)。 SMTP 规定了
14 条命令( 4 个字母组成)和 21 种应答(由 3 位数字代码开始,后跟文字说明)
-
当发信人把邮件送到邮件缓存区,发送方 SMTP 软件定时(几 几十分钟)扫描邮件暂存队列,如有待发邮件, SMTP 作为客户和目的地计算机 SMTP 服务器端口( 25 )建立 TCP 连接。
-
然后,服务器发出“ 220 Service ready” ;客户端发送“ hello” 命令,并附上客户端邮箱和主机名;服务器如有能力接收,则应答“ 250 OK” ,表示准备接收,否则返回一个代码说明原因,如“ 421 Service not available” ,“ 451 处理出错”,“ 452 存储空间不够”等
-
SMTP 命令 / 应答确认后,发送端首先开始发送邮件的头部信息,并得到相应的信息(如: OK 、目的邮箱在服务器上是否存在?、存储空间不够……)返回。
-
如 OK ,则开始传输邮件副本。客户端 SMTP 在发送结束后,通过发送 QUIT 退出命令释放 TCP 连接,得到服务器端确认后,整个邮件传输过程结束。
所以 SMTP 协议是较为复杂的协商交互协议!通常,无论作为 SMTP 客户或服务器都是在后台工作,
收发计算机还可以同时做其他工作;且邮件系统是非实时传输系统。
早期简单邮件系统是一种两个用户之间的直接发送和接收,但目前电子邮件系统更多引进了邮局和中
转概念。
分发、转发和列表
- 分发:当一邮件要发往发往多个目的地址时,邮件系统通过邮件分发器或转发器的软件,按照邮件列表
(通常是邮件目的地址数据库)中的每个电子邮件地址进行逐个邮件副本的发送。 - 转发:当收到一邮件时,邮件转发器可以根据目的邮件列表中的每个电子邮件地址进行邮件副本的逐个
转发。 - 同机多重接收:当发送邮件目的地址是位于同一计算机上的多个邮箱时,实际只建立一个 SMTP 连
接和传送,服务器收到邮件后,向同机每个邮箱传递一个副本。 - 列表:当要想发送给一组邮件目的地址时,信息首先发送往列表地址,然后,由邮件分发器将它的
副本转发给列表中的每个地址。 - 邮件中继:实际上当进行大量的邮件分发或转发时,通常不是由每个用户计算机处理,而是组织选
取一个独立的、处理能力较强的计算机作为公共邮件转发处理。这个计算机称为邮件网关( Email
gateway )或邮件中继( Email relay)
在邮件网关或邮件中继内部,分发器程序接收发给邮件列表的信息,将它的副本转发给列表中的每
个地址。
接收
邮件网关和组织地址
当一个组织有许多用户计算机的时候,按简单的思路每个计算机配置邮件地址,完成邮件收发。如
abc@comp.scnu.cn, tom@comp.scnu.cn, anny@sort.scnu.cn, kat@chin.scnu.cn ……
为了统一整个组织的邮件地址,通常组织运行一个邮件网关将所有组织邮件地址和邮件网关关联,如将邮件网
关命名为: scnu.cn ,所有人员邮件地址指定为:
Employee@scnu.cn (employee 命名规则组织确定)
由于实际邮件地址都包括网关地址,且邮件网关的数据库列表具有实际邮件地址与组织统一邮件地址对应,所以到达
邮件网关的邮件以此可转发给特定用户。
这样邮件网关实际隔离外部邮件地址与内部邮件地址(计算机与用户)。
五、邮箱访问
目前邮箱通常放在电子邮件系统服务器计算机上,接收者通过访问邮件服务器读取自己的邮件,而不是邮件
服务器主动发给用户计算机。这种非端到端的直接传送方式,称为存储传送方式,邮箱所在计算机起到了中转
作用
访问邮箱与邮件取回
电子邮箱在邮件服务器的计算机上,怎样从邮箱中得到自己的邮件呢?目前常用对电子邮箱进行远程读取的邮
局协议 POP ( Post Office Protocol ),目前是 96 年第 3 版 POP3 ;或 IMAP ( Internet Mail Access
Protocol) 。见图所示,在邮箱所在的计算机上附加运行一个 POP 服务器,用户计算机的电子邮件软件成为
POP 服务器的客户,对邮箱进行存取。
为什么用 POP 协议而不是 SMTP ?
pop没有建立tcp/udp,类似于本地操作
POP 协议设计是一种简单操作,主要完成创建连接、用户认证、事务操作(列出、取回并删除邮件功
能),而不是传输交互。一般 POP 协议特点简单读取邮件后, POP 将删除邮件或保留一段时间后删除
IMAP 2003 修订第 4 版 IMAP4 , IMAP 和 POP3 一样采用 C/S 方式工作。 IMAP 较 POP3 复杂,当
建立 TCP 连接后,用户在终端 PC 机上对 IMAP 服务器邮箱进行更多的操作,如用户可以只阅读邮
箱的邮件首部,将邮件在不同文件夹间移动,只有在打开读取邮件时才下载到客户端,但可对邮件
部分(正文或附件)进行读取,只有在用户执行删除命令后邮件才被删除(否则保留)。
邮件服务器使用 SMTP 协议负责 Internet 邮件传输, POP 、 IMAP 服务器负责用户邮箱访问
和邮件处理功能,带邮箱的计算机通常保持和 Internet 的永久连接,而用户计算机并不一定
需要和 Internet 连接。
电子邮件用户计算机,它完全可以不是 Internet 用户(没有因特网域名或 IP 地
址),而可以是在某个 Internet 计算机上注册了邮箱的普通计算机。所以说电子邮件应用实际大大超
过了 Internet 网覆盖范围。
中间存储转发模式
目前,具有大邮箱数据库、并具有 STMP 、 POP 服务器与中继功能的计算机,通常由组织或公共电
子邮件服务商提供,相当于电子邮局,用户申请加入。而用户只与电子邮局建立邮件连接,并通过邮
局进行电子邮件的发或收,这种中间存储收发模式是目前最常用的。
发展过程
- 1 、早期 2 个主机间点对点的 SMTP 的邮件直接收送
- 2 、邮件网关中继和组织邮件地址的统一,出现了中间管理服务。
- 3 、公共电子邮局:邮件中继、组织邮件地址和统一邮箱设置和邮件管理(存储、阅读、安全
……),形成了目前的电子邮件系统框架。 - 4 、 SMTP 完成电子邮件发送、 POP/IMAP 完成电子邮局服务器登录访问、读取和管理邮
件。
MIME协议和实现
SMTP 只能传输ASCii
目前使用多用途 Internet 邮件扩充 MIME 协议( Multipurpose Internet Mail Extension ),已经能传输
ASCII 码以外二进制信息,这样声音、图象和影视信号也可作为电子邮件内容发送,当然附件应用需要
收发计算机相应的硬软件支持。
MIME 把所有不同类型的二进制数据分段编码为 7 位 ASCII 码;然后用 SMTP 作为一般的文
本发送,在接受端再转化回二进制数据。这种编码转化方法有很多种,允许由收发方选择。
MIME特性:
- 兼容性: MIME 和早期的 SMTP 简单邮件系统兼容, SMTP 系统不需要解析 MIME 的编码,只
需象传统的字符一样传递。 - 灵活性: MIME 不规定唯一的编码方法和编码名称,由收发两端确定,这大大提高应用灵活
性。
总结
1 、 SMTP 协议主要作用。
电子邮件客户软件定时扫描邮件暂存队列,有待发邮件时, SMTP 客户
和目的地计算机 SMTP 服务器建立 TCP 连接。然后 SMTP 协议进行通过
ASCII 码命令和应答逐步
2.pop协议主要作用
POP 协议主要完成创建连接、用户认证、邮箱邮件的操作(列出、取回、
删除等)等功能。
3、直接收发的早期邮件系统主要组成和功能。
组成: EMAIL 代理的客户软件和邮件传递协议,功能:编写邮件、交付
/ 发送邮件、接收 / 阅读邮件、转发和管理邮件。
4 、 SMTP 能否传递非 ASCII 码信息?
如果有MIME就可以
5 、 MIME 扩展协议是怎样处理非文本信息的?
MIME 将邮件报文分成多个部分,即多个附件,每个附件部分可以是不同数据
类型 / 格式,用分隔符区分; MIME 对一般二进制信息,采用编码成 ASCII 码
方式,仍使用 SMTP 协议传输
6 、现代电子邮件系统发往某邮件,常常发现传输时间是不确定的,有时快而有时慢,为什么?
因为用户邮件在发端是定时扫描、建立连接和批处理传输的;且发送到目的邮局服务器的邮箱后,需要用户登陆后取回;即 Email 系统工作过程不是一个实际收发的端到端连接通信,而是中间邮局的非实时处理,所以邮件传递快慢取决于各个环节等待时间。
7 、电子邮件地址怎样演变的
早期是 SMTP 直接收发邮件,所以邮件地址实际是收发计算机域名加邮箱名;当一个组织集中管理邮件时候使用一个邮件网关,此时组织内所有人员的邮件地址和邮件网关关联,对外是同一的邮件地址域名,并实行邮件转发 / 分发;现代电子邮局作为运营组织集中管理大容量邮箱,用户通过 POP/IMAP 访问和操作邮箱邮件