电子邮件协议浅析

上传人:kms****20 文档编号:46654692 上传时间:2018-06-27 格式:PDF 页数:20 大小:419.96KB
返回 下载 相关 举报
电子邮件协议浅析_第1页
第1页 / 共20页
电子邮件协议浅析_第2页
第2页 / 共20页
电子邮件协议浅析_第3页
第3页 / 共20页
电子邮件协议浅析_第4页
第4页 / 共20页
电子邮件协议浅析_第5页
第5页 / 共20页
点击查看更多>>
资源描述

《电子邮件协议浅析》由会员分享,可在线阅读,更多相关《电子邮件协议浅析(20页珍藏版)》请在金锄头文库上搜索。

1、电子邮件协议电子邮件协议 1. 电子邮件系统的基本概念电子邮件系统的基本概念 电子邮件是一种用电子手段提供信息交换的现代邮政通信方式, 电子邮件让 人们能方便快捷地传递信息,让世界各地的人们之间能够轻松地交流 电子邮件与传统的信件通信方式相比有着巨大的优势: -传递迅速传递迅速:在数分钟之内可到达地球上任何一个地方; -信息多样:信息多样:除文字外,还可包含图片、音乐、动画、视频等多媒体信息, 也可以附带上软件、数据等资料; -方便高效:方便高效:只要能连接到 Internet,就可以随时随地地收发 E-mail,而且只 需极少的费用。 1972 年 BBN 的 Ray Tomlinson 发

2、明电子邮件系统并采用符号。电子邮件系 统要求每个用户有一个 email 地址。Internet 上 email 地址的形式是:用户名主 机域名,这里念作“at” ,意思为“在” 。左边是用户名或用户所使用的电子 邮箱名。邮箱所在主机通常称为邮件服务器。右边是用户使用的邮件服务器所 在域的域名。例如清华大学的域名是 ,所以 就是清华的某 email 地址。 电子邮件系统投递邮件时, 首先需要利用域名系统 DNS 将 email 地址中的 主机域名转换成邮件服务器的 IP 地址。为此先调用名字解析器,(1) 从主机域名 查询该域的资源记录 MX。例如:从域 的 DNS 资源记录 MX, 可以得

3、到邮件服务器域名 , (2) 再查询邮件服务器的 IP 地址, 有了 IP 地址就知道邮件往哪里送了。 若查不到 MX 记录, 系统就将后的主机域 名作为邮件服务器域名。。 电子邮件系统的一个非常有用的功能是利用所谓邮寄表 (mailing list) 向多 个用户发送同一邮件。 邮寄表是一组 email 地址并有一个组名, 也称 “别名(alias)” , 发给该组名的邮件会自动分发给它代表的每个 email 地址。一些邮件系统的地址 簿或通讯簿(address book)有类似的功能。 电子邮件与之前介绍的 TELNET 和 FTP 服务不同, 它不是一种 “终端到终端” 的服务,而是使用

4、了“存储转发式”的服务,这是一种异步通信方式。通过存储 转发可以进行非实时通信,即信件发送者可随时随地发送邮件,不需要接收者同 时在场。邮件服务器是 24 小时连接到网络的高性能、大容量的计算机,在服务 器的硬盘上为用户分配一定的存储空间,作为用户的“邮箱” 。用户可通过用户 名和密码来登录“邮箱” ,并进行发信、收信、编辑、转发、存档等各种操作。 1.1 ISO/OSI 电子邮件系统 MOTIS 电子邮件系统分为两部分: 用户代理用户代理 UA: 为用户提供良好的操作界面,并负责生成与处理消息; 信息传输代理信息传输代理 MTA:主要负责消息传输,即所谓的“电子邮局” 。 在电子邮件系统的具

5、体实现中,UA 一般位于个人计算机内,而 MTA 一般位 于邮件服务器中。MOTIS 的电子邮件传输是存储转发型的,其中的 MTA 扮演网 关的角色,邮件经逐个 MTA 传输直至信宿用户所在的 MTA。 图 1 MOTIS 电子邮件系统的模型 1.2 TCP/IP 电子邮件系统 TCP/IP 电子邮件系统在概念上也分为用户界面和邮件传输两部分, 但邮件传 输部分并未独立出来,形成一个类似 MOTIS 中 MTA 的组件,这是因为 TCP/IP 自 始至终坚持端到端的思想,TCP/IP 电子邮件系统也采用端到端的传输方式。 TCP/IP 中采用 spooling (假脱机) 缓冲技术来解决延迟传

6、递 (delayed delivery) 问题,将用户收发邮件与实际的邮件传输区别开来。 图 2 采用 spooling 技术的电子邮件系统 2电子邮件协议电子邮件协议 收发电子邮件在的过程中,要遵循一些基本协议和标准,这些协议和标准保 证电子邮件在各种不同的网络与操作系统之间能够正确地进行传输。 常见的电子 邮件传输协议主要有以下三种: -SMTP (简单邮件传输协议简单邮件传输协议):最常用的电子邮件传送协议; -POP3 (邮局协议邮局协议):最常用的电子邮件接收协议; -IMAP4 (网络邮件访问协议网络邮件访问协议):POP3 的一种替代协议,提供了邮件检索和邮件处 理的新功能。 目

7、前,大多数邮件服务器都安装了 SMTP 和 POP3 这两项协议,即 SMTP 服 务器作为邮件发送服务器,POP3 服务器作为邮件接收服务器。 电子邮件地址的一般格式如下: usernamedomain-name domain-name 是电子邮件服务器的域名,username 是在该服务器上注册的用户 名,也即用户电子邮箱名称,用户名与域名之间用符号“” 分隔开。 书写 E-mail 地址时要注意,地址中不能包含空格,无论是用户名、域名还是 的两侧都不能包含空格。 3SMTP 协议协议 SMTP 协议的作用是:当发送方计算机与支持 SMTP 协议的电子邮件服务器 连接时,将电子邮件由发送方

8、计算机准确无误地传送到接收方的电子邮箱中。 SMTP 的一个重要特点是它能够在传送中接力传送邮件,即邮件可以通过不同网 络上的主机接力式传送。SMTP 一个相对简单的基于文本的协议。通过 SMTP 发 送的所有电子邮件都是普通文本格式的,它不能直接传输图像、声音等非文本信 息,但可以应用 MIME 标准将二进制文件编码后再通过 SMTP 传输。 由于 SMTP 使用客户服务器方式,因此负责发送邮件的 SMTP 进程就是 SMTP 客户,而负责接收邮件的 SMTP 进程就是 SMTP 服务器。SMTP 规定了 14 条命令和 21 种应答信息。 每条命令用 4 个字母组成, 而每一种应答信息一

9、般只有一行信息,由一个 3 位数字的代码开始,后面附上(也可不附上)很简 单的文字说明。 3.1 SMTP 连接与发送 SMTP 是一种请求响应协议,客户端发送命令,服务器返回响应,两者通过这 种方式进行交互,以完成邮件传输过程的三个阶段:建立连接、传输数据和终止建立连接、传输数据和终止 连接。连接。 -客户端主动连接到服务器的 25 端口,建立 TCP 连接。服务器会发送一个应答 码为 220 的问候报文,表示已经准备就绪。 -客户端向服务器发送 HELO 命令,用以标识发送方的身份,HELO 命令的参数 必须是一个合法的主机名。如果服务器接受了连接请求,会给客户端返回一个代 码为 250

10、的应答,表示可以开始报文传输。 -客户端发送 MAIL 命令标识邮件的发送方, 通过 FROM 参数指定发送方的电子 邮件地址。如果服务器准备接收邮件,则返回代码为 250 的 OK 应答。 客户端发送 RCPT 命令标识邮件的接收方,通过 TO 参数指定接收方的电子邮件 地址,如果有多个接收人,可以发送多个 RCPT 命令。如果服务器能够识别接收 人,则会返回代码为 250 的 OK 应答,否则返回代码为 550 的失败应答。 客户端与服务器之间的协商结束, 客户端发送 DATA 命令指示将要发送邮件数据,服务器端返回应答码为 354 的响应进行确认, 表示可以开始邮件输入。 客户端将 邮件

11、内容按行发送,邮件的末尾由客户端指定,是只有一个小数点(邮件数据结 束指示器)的一行,服务器检测到邮件数据结束指示器后,返回代码为 250 的 OK 应答。 -客户端发送 QUIT 命令终止连接。 3.2 SMTP 命令 SMTP命令和FTP命令一样, 都是使用NVT ASCII格式的文本, 以明文传输的。 SMTP 简捷的原因之一是它使用的命令少,SMTP 的最小实现仅需记住 8 种命令 就够了。 常用 SMTP 命令一览表 命令 描述 HELO 用于启动邮件传输过程 MAIL 用于初始化邮件传输 RCPT 用于标识单个邮件接收人,在 MAIL 命令后面可有多个 RCPT 命令 DATA 用

12、于将邮件报文发送给服务器 QUIT 用于终止客户端与服务器之间的连接 RSET 用于中止当前的邮件事务并使两端复位 VRFY 用于验证指定的用户/邮箱是否存在,即验证接收方地址 是否正确 NOOP 空操作命令 3.3 SMTP 响应 每一条 SMTP 命令都会返回一条 SMTP 响应, SMTP 响应与 FTP 响应很相似, 包含一个 3 位数字的应答码,后面跟着的是描述文本。 SMTP 应答码 代码 描述 代码 描述 211 系统状态或系统帮助响应 500 命令不可识别或语法错 214 帮助信息 501 参数语法错 220 服务准备就绪 502 命令不支持 221 关闭连接 503 命令顺序

13、错 250 请求操作就绪 504 命令参数不支持 251 非 本 地 用 户 , 转 发 到550 操作未执行:邮箱不可用 354 开 始 邮 件 输 入 , 以 .结束 551 非 本 地 用 户 , 请 尝 试421 服务不可用 552 操作中止:存储空间不足 450 操作未执行:邮箱忙 553 操作未执行:邮箱名不正确 451 操作中止:本地错误 554 传输失败 452 操作未执行:存储空间不足 3.4 电子邮件的信息格式 报文协议报文协议 RFC822: Internet 主机之间传送的报文是 7 位 ASCII 字符流。每个报文分成两部分: 报文头(message header)和

14、报文体(message body),两者以一空行分隔。报文头在 报文体之前,它是一些控制信息,包括收方和发方的地址、日期等。RFC822 对 邮件最大的限制是邮件报文体是 ASCII 字符流,每个 ASCII 字符是 7 位。SMTP 中 又规定传输邮件时将 8 位字节的最高位清 0,这样电子邮件就不能包括多国文字 和多媒体信息。邮件报文格式 RFC822 极需扩充,提出了多用途 Internet 报文扩 展 MIME (Multipurpose Internet Mail Extensions)。报文体是用户邮件内容,RFC 只规定它是 ASCII 字符串。报文头由一系列头字段报文头由一系列

15、头字段(header fields)组成,每个头字组成,每个头字 段的形式是:段的形式是: 字段名字段名(field-name):字段体:字段体(field-body) 一个电子邮件分为信封和内容两大部分。RFC 822 只规定了邮件内容中的首 部(header)格式,而对邮件的主体(body)部分则让用户自由撰写。用户写好首部 后, 邮件系统将自动地将信封所需的信息提取出来并写在信封上。所以用户不需 要填写电子邮件信封上的信息。邮件内容首部包括一些关键字,后面加上冒号。 最重要的关键字是:To 和 Subject。 电子邮件的主要结构有: -邮件头 (Header) -用于分隔邮件头与邮件正

16、文的空行 -邮件正文 (Body) -签名 (Signature) (位于邮件末尾的可选部分) 邮件头的每一行都遵循“标题域:值”的格式,邮件头示例如下: Received: from (unknown 202.116.64.3) by bjmx3 (Coremail) with SMTP id tYECALSfOkFDAEAD.1 for ; Sun,05 Sep 2004 13:10:25 +0800 (CST) X-Originating-IP: 202.116.64.3 Received: from RsProxy (192.168.48.120) by (8.11.5/8.11.5)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 科普知识

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号