版本2 邮局协议

一:提要:
这篇RFC文档提供了一种使工作站动态的从邮件服务器获取邮件的简单方法.它着重阐
述了符合ARPA标准的因特网的邮件协议,并为它的进一步发展提供了建议和讨论.它是
RFC918的更新.你可以自由传播这个文档.
二:引言
邮局协议(版本2)的目的是为了让用户的工作站从邮件服务器获取邮件.它也应该答应邮
件从工作站通过简单邮件传递协议(SMTP)发送到邮件服务器.更多内容请参考POP2821[1]
和POP2822[2].
这个协议假定已经存在了一个可靠的数据流,比如由TCP协议或其它协议提供的数据流.
假如是TCP协议,则POP2协议服务器从109端口进行监听.
三:系统模型和分析
当我们给一工作站分配一个IP地址从而把它当作一个因特网主机时,我们并不希望它包
含用户的邮箱.我们希望有一个专门的有服务器来提供邮箱服务.
当然我们知道提供这种服务的机器的最重要的要求是它要健壮.一台经常宕机的机器是
不适合作邮件服务器的.
POP2协议是为局域网(比如Ethernets)上工作站和服务器之间的短时延,高传输率的通讯
而设计的.POP2协议也可以工作在其它类型的网络上.但假如网络环境有了很大的改变,一个
新的协议可能是必要的.
设想有一个用户叫JohnSmith,它的计算机叫FIDO,它的邮件服务器叫DOG-HO
USE .则它的邮件地址是JSmith@DOG-HOUSE.ARPA( 而非JS
mith @FIDO.ARPA)
这也就是说,邮件是在邮件服务器的邮箱中存放.!!!协议只不过提供了一种浏览邮箱
中邮件的机制.
用户的工作站和服务器之间没有任何的关系,用户的工作站也不作为邮件地址的一部
分.
这是一个非常简单的协议.它不是一个用户界面.我们希望我们的计算机上有一个友好
的程序.但事实上,该协议一点也不友好.它的一个基本规则是:假如存在任何错误就断开
连接.
POP2协议根本不对消息做任何处理,它也部分析消息头(Date:,From:,To:,Cc:,or
Subject:).POP2协议之间的将消息从服务器传到客户工作站.
四: POP2协议
POP2协议是一系列命令和回答的集合.它来自ARPA网络的其
它许多已经存在的协议.
 
 服务器必须监听一个连接.当一个连接被建立时,服务器发送一个
greeting消息并等待用户的其它命令.当命令到达时,服务器进行处理,
并给与用户答复.
 客户打开一个连接,等待greeting 消息,然后发送HELO命令,
包括用户的姓名和密码的参数给服务器进行认证从而获取邮件.服务器返回默认
邮箱的邮件数目给用户.
 用户可以阅读默认邮箱的邮件,也可以用FOLD 命令来选择邮箱.
同样,服务器将返回用户所选择的邮箱的邮件数.
用户用READ命令开始阅读邮件.READ命令应该包含一个参数,用来指定要
阅读的邮件序号,默认值是当前邮件(即一个新文件夹打开时的第一条邮件).然后
,服务器开始向用户发送邮件的内容.
用户可以用RETR命令来请求获得消息的目录.
当所有的数据都被接收时,用户发送确认消息.这就是ACKS,ACKD和NACK.
ACKS意味着"我已经成功的收到了消息,请将它保存在邮箱中".
ACKD意味着"我已经成功的收到了消息,请将它从邮箱中删除".
NACK意味着"我没有受到消息,请将它保存在邮箱中".
接收到ACKS和ACKD命令后,服务器将消息指针指向下一条消息;接收到NACK

推荐阅读