POP3
2016-11-02 本文已影响0人
语文小子
Email协议包括两部分,一部分是发送Email的协议,一般是smtp协议;另一部分是接收Email的协议,常见的有POP3协议和imap协议。现讨论接收Email的POP3协议
pop3状态转移图一个例子:
C:telnet pop3.126.com 110 /* 以telnet方式连接126邮件服务器 */
S:+OK Welcome to coremail Mail Pop3 Server (126coms[3adb99eb4207ae5256632eecb8f
8b4855]) /* +OK,代表命令成功,其后的信息则随服务器的不同而不 */
C:USER bripengandre /* 采用明文认证 */
S:+OK core mail
C:PASS Pop3world /* 发送邮箱密码 */
S:+OK 654 message(s) [30930370 byte(s)] /* 认证成功,转入处理状态 */
C:LIST 1 /* 显示第一封邮件的信息 */
S:+OK 1 5184 ./* 第一封邮件的大小为5184 字节 */
C:UIDL 1 /* 返回第一封邮件的唯一标识符 */
S:+OK 1 1tbisBsHaEX9byI9EQAAsd /* 数字1 后的长字符串就是第一封邮件的唯一标志符 */
C:RETR 1 /* 下载第一封邮件 */
S:+OK 5184 octets /* 第一封邮件的大小为5184字节 */
S:Receive
… /* 第一封邮件的具体内容 */
S:…
C:QUIT /* 转入更新状态,接着再转入认证状态 */
S:+OK
C: QUIT /* 退出连接 */
S:+OK core mail /* 成功地退出了连接 */
响应则由“+OK”或“-ERR”开头,后跟一些可读的说明和一些其它参数(对RETR,这个参数就是邮件的内容)
常用命令:
-
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
处理 服务器返回一个肯定的响应