用user和pass命令进行确认过程,客户必须首先发送user命令,假如pop3服务器以"确认"状态码响应,客户就可以发送pass命令以完成确认,或者发送quit命令终止pop3会话 。假如pop3服务器返回"失败"状态码,客户可以再发送确认命令,或者发送quit命令 。当客户发送了pass命令后,服务器根据user和pass命令的附加信息决定是否答应访问相应的存储邮件 。
一旦服务器通过这些数据决定答应客户访问储存邮件,服务器会在邮件上加上排它锁,以防止在进入"更新"状态前对邮件的改变 。假如成功获得了排它锁,服务器返回一个"确认"状态码 。会话进入"操作状态",同时没有任何邮件被标记为删除 。假如邮件因为某种原因不能打开(例如,排它锁不能获得,客户不能访问相应的邮件或者邮件不能进行语法分析),服务器将返回"失败"状态码 。
在返回"失败"状态码后,服务器会关闭连接 。假如服务器没有关闭连接,客户可以重新发送确认命令,重新开始,或者发送quit命令 。在服务器打开邮件后,它为每个消息指定一个消息号,并以八进制表示每个消息的长度 。第一个消息被指定为1,第二个消息被指定为2,以此类推,第n个消息被指定为n 。在pop3命令和响应中,所以的消息号和长度以十进制表示 。
下面是对上述三条命令的总结:
user name
指定邮箱的字符串,这对服务器至关重要,仅在user和pass命令失败后或在"确认"状态中使用
ok:有效邮箱;
-err:无效邮箱
c: user mrose
s:ok mrose is a real hoopy frood
...
c: user frated
s: -err sorry, no mailbox for frated here
pass string
口令仅在"确认"状态中user命令成功后使用(因为此命令只有一个参数,因此空格不再作为分隔符,而作为口令的一部分)
ok:邮件锁住并已经预备好;
-err:无效口令或无法锁住邮件
c: user mrose
s:ok mrose is a real hoopy frood
c: pass secret
s:ok mrose’s maildrop has 2 messages (320 octets)
...
c: user mrose s:ok mrose is a real hoopy frood
c: pass secret
s: -err maildrop already locked
quit
(无)
(无)
ok
c: quit
s:ok dewey pop3 server signing off
"操作"状态
一旦客户向服务器成功地确认了自己的身份,服务器将锁住并打开相应的邮件,这时pop3会话进入"操作"状态 。现在客户可以重复下面的pop3命令,对于每个命令服务器都会返回应答 。最后,客户发送quit命令,会话进入"更新"状态 。下面是在"操作"状态中可用的命令:
stat
(无)
仅在"操作"状态下可用 。服务器以包括邮件信息的响应做为"确认" 。为简化语法分析,所有的服务器要求使用邮件列表的特定格式 。"确认"响应由一个空格,以八进制表示的邮件数目,一个空格和邮件大小 。这是最小实现,高级的实现还需要别的信息 。注重:被标记为删除的信件不在此列 。
ok: nn mm
c: stat
s:ok 2 320
list [msg]
信件数目(可选),假如出现,不包括标记为删除的信件 。仅在"操作"状态下可用 。假如给出了参数,且pop3服务器返回包括上述信息的"确认",此行称为信息的"扫描表" 。假如没有参数,服务器返回"确认"响应,此响应便以多行给出 。在初的 ok后,对于每个信件,服务器均给出相应的响应 。为简化语法分析,所有服务器要求使用扫描表的特定格式 。它包括空格,每个邮件的确切大小 。这是最小实现,高级的实现还需要别的信息 。注重:被标记为删除的信件不在此列 。
ok:其后跟扫描表;
-err:无扫描 。
c: list
s:ok 2 messages (320 octets)
s: 1 120
s: 2 200
推荐阅读
- 三个重要的邮件传输协议之SMTP
- 夏新E850使用三个月体会
- 安全防范的手段里面最重要的是
- 华为荣耀20pro的三个摄像头 荣耀20pro是几个摄像头
- 爱因斯坦的三个重要效应是什么 爱因斯坦的三个重要效应有哪些
- 成熟魅力昵称三个字 成熟魅力昵称
- 键盘上第三个灯亮了是什么意思
- 键盘第三个灯怎么关
- 哪些宋词以三个字开头
- 三眼插座的三个接头分别是