应用层(SMTP和POP3协议)

SMTP(简单邮件传输协议 Simple Mail Transfer Protocol)是建立在FTP文件传输服务上的一种邮件服务,主要用于传输系统之间的邮件信息并提供与来信有关的通知,所对应RFC文档为RFC821。SMTP目前已是事实上的在Internet传输E-Mail的标准,是一个相对简单的基于文本的协议,目标是向用户提供高效、可靠地邮件传输。它的一个重要特点是它能够在传送中接力传送邮件。

邮件是一种消息的格式,由信封、首部和正文组成。信封上最重要的是收信人的地址。邮件服务器用这个地址将邮件发送到收信人所在的邮件服务器上。首部是由用户代理或邮件服务器添加的一些信息。包括Received、Message-ID、From、Data、Reply-To、X-Phone、X-Mailer、To和Subject等字段。正文是发送用户发给接收用户报文的内容。RFC 822规定正文为NVT ASCII文字行。

一个具体的SMTP通信(如发送端邮件服务器:即客户端;与接收端服务器:即服务器端的通信)的过程是:

1、客户端与服务器端建立TCP连接;

2、客户端向服务器端发送HELO命令以标识发件人自己的身份,然后客户端发送MAIL命令,服务器端以OK响应,表明准备接收;

3、客户端发送RCPT命令,以标识该电子邮件的计划接收人,服务器端则表示是否愿意接收邮件;

4、协商结束,发送邮件,用命令DATA发送;

5、以“.”标识结束输入内容一起发送出去没结束此次发送,用QUIT命令退出。

再输入每条命令后,都需要加上<CRLF>命令,即换行命令。

SMTP协议原来只能传送7位的ASCII码,不能传送二进制文件,这成了它的一大缺陷。在之后的发展中,标准化组织在兼容SMTP的前提下,提出了传送非7位ASCII码的方法,对应的RFC文档有两个:邮件首部扩充对应于RFC1522,邮件正文的扩充对应与RFC1521(即MIME)。

对于正文的扩充主要是使正文不仅可以传输NVT ASCII字符,而且可以传输任意字符,即MIME(多用途互联网邮件扩展 Multiple Internet Mail Extensions)。它通过新增一些邮件首部字段、邮件内容格式和传送编码,使得其成为一种很广泛的可以传输多媒体的电子邮件规范。

对于邮件,我们不仅要会发送,还需要接收,此时就要用到POP3协议(邮局协议第三版 Post Office Protocol version3),由RFC1939定义。它也是TCP/IP协议族中的一员,主要用于支持使用客户端远程管理在服务器上的电子邮件。

POP 协议支持“离线”邮件处理。其具体过程是:邮件发送到服务器上,电子邮件客户端调用邮件客户机程序以连接服务器,并下载所有未阅读的电子邮件。这种离线访问模式是一种存储转发服务,将邮件从邮件服务器端送到个人终端机器上,一般是 PC机或 MAC。一旦邮件发送到 PC机或 MAC上,邮件服务器上的邮件将会被删除。但目前的POP3邮件服务器大都可以“只下载邮件,服务器端并不删除”,也就是改进的POP3协议。

POP3协议有三种状态:认正状态、处理状态和更新状态。客户机与服务器刚与服务器建立连接时,它的状态为认证状态;一旦客户机提供了自己身份并被成功地确认,即由认可状态转入处理状态; 在完成相应的操作后客户机发出QUIT命令,则进入更新状态,更新之后又重返认可状态;当然在认可状态下执行QUIT命令,可释放连接。

猜你喜欢

转载自www.cnblogs.com/HuangJiaPing/p/12524097.html