
POP3是一种适用于客户端/服务器结构的脱机模型的电子邮件协议,即Post Office Protocol 3,目前发展到了第三代。POP3的主要功能是规定如何将个人计算机连接到互联网的邮件服务器,并从这些服务器下载电子邮件。它在互联网电子邮件领域引入了第一个离线协议标准。
使用POP3协议,用户可以从服务器上将邮件存储到本地主机(即自己的计算机上),同时删除保存在邮件服务器上的邮件。POP3服务器指的是遵循POP3协议的接收邮件服务器,用于接收电子邮件。相较于IMAP4,POP3允许客户机与服务器断开连接后,仍能独立管理邮件。
POP3协议操作分为三种状态:认可状态、处理状态和更新状态。当客户机与服务器建立连接时,一旦客户机提供自己的身份并成功确认,即由认可状态转入处理状态。在完成相应的操作后,客户机发出quit命令,则进入更新状态,更新之后最后重返认可状态。
在POP3协议中,命令采用命令行形式,使用ASCII码表示。服务器响应则由一个单独的命令行组成,或多个命令行组成,响应的第一行以ASCII文本+OK或-ERR指出相应的操作状态是成功还是失败。POP3协议的三种状态转换如下所示:
等待连接——身份确认——quit命令——|认可|——|处理|——|更新|——|认可|
POP3协议的命令码包括:
USER username 认可:此命令与下面的PASS命令若成功,将导致状态转换
PASS password 认可:APOP Name,Digest 认可,Digest是MD5消息摘要
STAT None 处理:请求服务器发回关于邮箱的统计资料,如邮件总数和总字节数
UIDL [Msg#] 处理:返回邮件的唯一标识符,POP3会话的每个标识符都是唯一的
LIST [Msg#] 处理:返回邮件数量和每个邮件的大小
RETR [Msg#] 处理:返回由参数标识的邮件的全部文本
DELE [Msg#] 处理:服务器将由参数标识的邮件标记为删除,由quit命令执行
RSET None 处理:服务器将重置所有标记为删除的邮件,用于撤消DELE命令
TOP [Msg#] 处理:服务器将返回由参数标识的邮件前n行内容,n必须是正整数
NOOP None 处理:服务器返回一个肯定的响应