当前位置:文档之家› pop3命令码

pop3命令码

6.POP3命令码如下:
命令参数状态描述
------------------------------------------
USERusername认可此命令与下面的pass命令若成功,将导致状态转换
PASSpassword认可
APOPName,Digest认可Digest是MD5消息摘要
------------------------------------------
STATNone处理请求服务器发回关于邮箱的统计资料,如邮件总数和总字节数
UIDL[Msg#]处理返回邮件的唯一标识符,POP3会话的每个标识符都将是唯一的
LIST[Msg#]处理返回邮件数量和每个邮件的大小
RETR[Msg#]处理返回由参数标识的邮件的全部文本
DELE[Msg#]处理服务器将由参数标识的邮件标记为删除,由quit命令执行
RSETNone处理服务器将重置所有标记为删除的邮件,用于撤消DELE命令
TOP[Msg#]处理服务器将返回由参数标识的邮件前n行内容,n必须是正整数
NOOPNone处理服务器返回一个肯定的响应
------------------------------------------
QUITNone更新
a.客户机希望结束这次会话
b.如果服务器处于‘处理’状态,那么将进入‘更新’状态以删除任何标记为删除的邮件
c.导致由处理状态到更新状态,又重返认可状态的转变
d.如果这个命令发出时服务器处于‘认可’状态,则结束会话,不进行‘更新’状态。
7.POP3协议在TCP/110端口上等待客户连接请求。
8.若密码为明文,我如何监听?
下面的命令在服务器运行后在屏幕上显示POP3连接及命令发送的过程:
#sniffit-a-A.-p110-b-s192.169.11.12
note:192.168.11.12是客户机IP地址
你需要事先安装sniffit这个端口监听程序


foxmail每收一封标记删除一封,而OE则等全部接收完后再全部标记为删除最后执行quit命令。

FoxmailOE
-------------------------------
retr1retr1
dele1retr2
retr2retr3
dele2dele1
retr3dele2
dele3dele3
quitquit

想从服务器直接删除;对第二封,想接收但不删除,对第三封,这一次不想接收,分别标记后最后foxmail发出的命令是
foxmail
------------------------------
dele1
retr2
quit


 c.若没有foxmail,正好有几封很大的信堵住了,我不想接收,想直接删除它,或者想查看这两封是谁发的?
直接在windows的DOS窗口下用命令行操作,如:
#https://www.doczj.com/doc/5911859995.html,110
userusername
passpassword
list
dele3
dele5
quit


-------------------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字符组成,这个符号在给定的存储邮件中不会重复。
注意:信件不包括被标记为删除的信件。
【响应】+OK:其后是独立-ID表;
-ERR:其后无类似信件。
【例子】
C: UIDL
S: +OK
S: 1 whqtswO00WBw418f9t5JxYwZ
S: 2 QhdPYR:00WBw1Ph7x7
S: .
...
C: UIDL 2
S: +OK 2 QhdPYR:00WBw1Ph7x7
...
C: UIDL 3
S: -ERR no such message, only 2 messages in maildrop

-----------------------APOP name digest------------------------
【参数】指定邮箱的字串和MD5摘要串。
【限制】仅在POP3确认后的"确认"状态中使用。
【说明】通常,每个POP3会话均以USER/PASS互换开始。这导致了用户名和口令在网络上的显式传送,这不会造成什么危险。但是,许多客户经常连接到服务检查信件。通常间隔时间比较短,这就加大了泄密的可能性。
另一种提供"确认"过程的方法是使用APOP命令。
实现APOP命令的服务器包括一个标记确认的时间戳。例如:在UNIX上使用APOP命令的语法为:process-ID.clock@hostname,其中进程-ID是进程的十进制的数,时钟是系统时钟的十进制表示,主机名与POP3服务器名一致。
客户记录下此时间戳,然后以送APOP命令。name语法和USER命令一致。Digest是采用MD5算法产生的包括时间戳和共享密钥的字串。此密钥是客户和服务器共知的,应该注意保护此密钥,如果泄密,任何人都能够以用户身份进入服务器。
如果服务器接到APOP命令,它验证digest,如果正确,服务器

返回"确认",进入"操作"状态;否则,给出"失败"并停留在"确认"状态。
注意:共享密钥的长度增加,解读它的难度也相应增加,这个密钥应该是长字符串。
【响应】+OK:邮件锁住并准备好;
-ERR:拒绝请求。
【例子】
S: +OK POP3 server ready <1896.697170952@https://www.doczj.com/doc/5911859995.html,>
C: APOP mrose c4c9334bac560ecc979e58001b3e22fb
S: +OK maildrop has 1 message (369 octets)
在此例子中,共享密钥 <1896.697170952@https://www.doczj.com/doc/5911859995.html,>tanstaaf由MD5算法生成,它产生了digest值, c4c9334bac560ecc979e58001b3e22fb


====================POP3命令总结================
基础的POP3命令:
USER name 在"确认"状态有效
PASS string
QUIT
 
STAT 在"操作"状态有效
LIST [msg]
RETR msg
DELE msg
NOOP
RSET
 
QUIT 在"更新"状态有效
 
可选的POP3命令:
APOP name digest 在"确认"状态有效
TOP msg n 在"操作"状态有效
UIDL [msg]
 
POP3 响应:
+O
-ERR
 
注意:除了STAT,LIST和UIDL的响应外,其它命令的响应均为"+OK"和 "-ERR"。响应后的所有文本将被客户略去。


================POP3会话实例=========================
S: <等待连接到TCP端口110>
C: <打开连接>
S: +OK POP3 server ready <1896.697170952@https://www.doczj.com/doc/5911859995.html,>
C: APOP mrose c4c9334bac560ecc979e58001b3e22fb
S: +OK mrose''s maildrop has 2 messages (320 octets)
C: STAT
S: +OK 2 320
C: LIST
S: +OK 2 messages (320 octets)
S: 1 120
S: 2 200
S: .
C: RETR 1
S: +OK 120 octets
S: <服务器发送信件1>
S: .
C: DELE 1
S: +OK message 1 deleted
C: RETR 2
S: +OK 200 octets
S: <服务器发送信件2>
S: .
C: DELE 2
S: +OK message 2 deleted
C: QUIT
S: +OK dewey POP3 server signing off (maildrop empty)
C: <关闭连接>
S: <等待下一次连接>

相关主题
文本预览
相关文档 最新文档