为简化语法分析,所有服务器要求使用扫描表的特定格式 。它包括空格,每个邮件的确切大小 。这是最小实现,高级的实现还需要别的信息 。
注重:被标记为删除的信件不在此列 。
OK:其后跟扫描表; -ERR:无扫描 。
C: LIST S:OK 2 messages (320 octets)
S: 1 120
S: 2 200
S: .
...
C: LIST 2
S:OK 2 200
...
C: LIST 3
S: -ERR no sUCh message, only 2 messages in maildrop
RETR msg不包括标记为删除的信件数目 。仅在“操作”状态下可用 。假如服务器返回“确认”,给出的响应是多行的 。在初始的 OK后,服务器发送与给定信息号对应的信息,对于多行响应,注重字节填充终止符 。OK:消息在其后; -ERR:其后无消息 。
C: RETR 1 S:OK 120 octets
S:
S: .
DELE msg不包括标记为删除的信件数目 。仅在“操作”状态下可用 。服务器将此信件标记为删除,以后任何关于此信件的操作就会产生错误 。服务器在会话进入“更新”状态前不会真正删除此信件 。OK:信件被删除; -ERR:无此信件 。
C: DELE 1 S:OK message 1 deleted
...
C: DELE 2
S: -ERR message 2 already deleted
NOOP(无)仅在“操作”状态下可用 。服务器仅返回“确认” 。OKC: NOOP S:OK
RSET(无)仅在“操作”状态下可用 。所有被标记为删除的信件复位,服务器返回“确认” 。OKC: RSET S:OK maildrop has 2 messages (320个字符)
6.“更新”状态
当客户在“操作”状态下发送QUIT命令后,会话进入“更新”状态 。(注重:假如客户在“确认”状态下发送QUIT后,会话并不进入“更新”状态 。)
假如会话因为QUIT命令以外的原因中断,会话并不进入“更新”状态,也不从服务器中删除任何信件 。
命令参数限制说明响应例子QUIT(无)(无)服务器删除所有标记为删除的信件,然后释放排它锁,并返回这些操作的状态码 。最后TCP连接被中断 。OKC: QUIT S:OK dewey POP3 server signing off (清空标记邮件)
...
C: QUIT
S:OK dewey POP3 server signing off
7.可选的POP3命令
更多的请看:http://www.QQread.com/windows/2003/index.Html
以上讨论的命令是对POP3服务的最小实现 。以下说明的可选命令答应客户更方便地处理信件,这是一个比较一般的POP3服务实现 。
命令参数限制说明响应例子TOP msg n一个是未被标记为删除的信件数,另一个是非负数(必须提供)仅在“操作”状态下使用 。假如服务器返回“确认”,响应是多行的 。在初始的 OK后,服务器发送信件头,一个空行将信件头和信件体分开,对于多行响应要注重字节填充终止符 。注重:假如客户要求的行数比信件体中的行数大,服务器会发送整个信件 。
OK:其后有信件头; -ERR:其后无类似消息 。
C: TOP 1 10 S:OK
S: <服务器发送消息头,一个空行和信件的头10行>
S: .
...
C: TOP 100 3
S: -ERR no such message
UIDL [msg]信件数(可选) 。假如给出信件数,不包括被标记为删除的信件 。仅在“操作”状态下使用 。假如给出了参数,且POP3服务器返回包括上述信息的“确认”,此行称为信息的“独立-ID表” 。假如没有参数,服务器返回“确认”响应,此响应便以多行给出 。在初的 OK后,对于每个信件,服务器均给出相应的响应 。此行叫做信件的“独立-ID表” 。
为简化语法分析,所有服务器要求使用独立-ID表的特定格式 。它包括空格和信件的独立-ID 。
信件的独立-ID由0x21到0x7E字符组成,这个符号在给定的存储邮件中不会重复 。
注重:信件不包括被标记为删除的信件 。
推荐阅读
- Internet Protocol Internet协议
- ICMP Internet控制信息协议
- 动态主机配置协议
- 网络通信协议
- CIP 传输协议
- Daytime协议
- OSPF协议
- PPP协议
- MPLS 多协议标志交换基本原理
- 了解生成树协议拓扑变化