POP3协议详细介绍(一)

 

1. POP3跟SMTP一样,也是个Request/Response协议,命令和响应都是基于ASCII文本,并以CR和LF(/r/n)符结束,响应包括一个表示返回状态的符号(+/-),另外是描述信息.
        Request标准格式:  Command [Parameter] CRLF
        Response标准格式: +OK/[-ERR] description CRLF
2. POP3在TCP协议110号端口(默认端口,可以更改)监听连接请求.
3. POP3的基本命令集合:
         USER name               用户名指定
         PASS string             密码指定(明文)
         QUIT    退出命令,结束当前POP3对话
         STAT                    统计邮件命令
         LIST [msg]              列出当前邮件命令
         RETR msg   获取某一邮件(根据邮件序号来获取)
         DELE msg   删除某一邮件(根据邮件序号来删除)
         NOOP    无操作
         RSET    用于撤消DELE命令
      可选命令集合:
         APOP name digest        valid in the AUTHORIZATION state
         TOP msg n               valid in the TRANSACTION state
         UIDL [msg]  
      POP3回复:
         +OK
         -ERR
    正向符号+表示成功,负向符号-表示失败。

     由于前面的POP3版本需要明码验证,对于密码的安全是个大挑战,毕竟网络上的Sniffer到处都是,如何保护密码的安全很重要,因此在后面的RFC1939中详细地描述了增强的APOP命令来支撑整个密码验证过程,具体验证过程如下:
     服务器端在跟客户连接后会发送一个message,最后的一部分就是Digest secret的一部分(使用空格作为间隔),大体格式如下<process-ID.clock@hostname>,由于采用了clock值确保了其对于每个客户端的唯一性。
     客户端收到上述消息后进行解码并且将最后部分形如<process-ID.clock@hostname>附加上用户密码进行MD5计算,得到digest值。
     然后复合整个命令行APOP name digest并且发送出去。
     注意并不是每个服务器都能支持APOP命令,需要先判断前面的消息返回体是否形如<process-ID.clock@hostname>。

    在接下来的章节中将通过C#的一个例子程序详细地解释一下整个POP3协议的具体收发过程;

 

RFC参考系列:

  • RFC 918 – POST OFFICE PROTOCOL
  • RFC 937 – POST OFFICE PROTOCOL – VERSION 2
  • RFC 1081 – Post Office Protocol – Version 3
  • RFC 1939 – Post Office Protocol – Version 3 (STD 53)
  • RFC 1957 – Some Observations on Implementations of the Post Office Protocol (POP3)
  • RFC 2195 – IMAP/POP AUTHorize Extension for Simple Challenge/Response
  • RFC 2384 – POP URL Scheme
  • RFC 2449 – POP3 Extension Mechanism
  • RFC 2595 – Using TLS with IMAP, POP3 and ACAP
  • RFC 3206 – The SYS and AUTH POP Response Codes
  • RFC 5034 – The Post Office Protocol (POP3) Simple Authentication and Security Layer (SASL) Authentication Mechanism

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该压缩包包含三个文档,分别是SMTP协议详解,POP3协议详解,MIME规范详解,文档中详细介绍了一个邮件发送和接收的过程分析,协议本身的包含的命令和工作过程,为开发邮件代理的客户端提供技术基础。如下是部分SMTP协议部分内容: 1.1 SMTP在邮件通信中的位置 SMTP,即简单邮件传送协议,所对应RFC文档为RFC821。同http等多数应用层协议一样,它工作在C/S模式下,用来实现因特网上的邮件传送。SMTP在整个电子邮件通信中所处的位置。可以看出,SMTP是用来将客户机上的邮件传送到服务器上。这里的客户机是指某次连接中的发送方,服务器是指相应的接收方。在讲解发送邮件的整个通信过程前,先解释一下面几个术语。 1.2几个术语 1.2.1.邮件 邮件是一种消息的格式,由信封、首部和正文组成。 信封上最重要的是收信人的地址。邮件服务器用这个地址将邮件发送到收信人所在的邮件服务器上。 首部是由用户代理或邮件服务器添加的一些信息。包括Received、Message-ID、From、Data、Reply-To、X-Phone、X-Mailer、To和Subject等字段。 正文是是发送用户发给接收用户报文的内容。RFC 822 规定正文为NVT ASCII文字行。 更为详细的说明,请参考RFC821和RFC822等协议。 1.2.2.用户代理 用户代理UA(User Agent)是用户与电子邮件系统的交互接口,一般来说它就是我们PC机上的一个程序。Windows上常见的用户代理是Foxmail和Outlook Express。 用户代理提供一个好的用户界面,它提取用户在其界面填写的各项信息,生成一封符合SMTP等邮件标准的邮件,然后采用SMTP协议将邮件发送到发送端邮件服务器
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值