一、POP3
1、何时工作
当用户代理(客户机)打开了一个到邮件服务器(服务器)端口110上的TCP连接后,POP3就开始工作了。
2、如何工作
三个步骤:特许、事务处理、更新。在特许阶段,用户代理发送(以明文形式)用户名和口令以鉴别用户。事务处理阶段,用户代理取回报文;这个阶段中,用户代理还能对邮件进行操作,如做出报文删除标记,取消报文删除标记,以及获取邮件的统计信息。更新阶段,在客户机发出quit命令之后,目的是结束该POP3会话;此时,邮件服务器删除哪些被标记为删除的报文。
1)特许阶段
在该阶段有两个主要的命令:user<user name>和pass <password>。假设邮件服务器的名字是mailServer,那么你将看到如下过程:
telnet mailServer 110
+OK POP3 server ready
user bob
+OK
pass hungry
+OK user successfully logged on
如果命令拼写错误,POP3服务器将返回一个-ERR报文。
2)事务处理阶段
使用POP3的用户代理(由用户)配置为"下载并删除"(download and delete)或者"下载并保留"(download and keep)两种方式。在前者的配置中,用户代理发出list、retr和delete命令。假设用户再其邮箱里有两个报文,则在会话的过程中,C:用户代理,S:邮件服务器。事务处理的过程如下:
用户代理首先请求邮件服务器列出所有存储报文的长度。接着用户代理从邮件服务器取回每封邮件并删除他们在服务器上的备份。在特许阶段以后,用户代理仅使用四个命令:list、retr、dele和quit。在处理quit命令后,POP3服务器进入更新阶段,从用户的邮箱中删除邮件1和2。
下载并保留方式,解决的问题是,在多个终端访问邮件时,下载并删除方式,会将邮件在其中某一个终端删除,而其他终端访问邮件时,就不能再次接收该文件了。
再用户代理与邮件服务器使用POP3进行会话时,POP3会保留一些状态信息,特别是哪些用户报文被标记为删除了。会话期间,状态信息并不会被携带,简化了POP3服务的实现。