打印本文 打印本文  关闭窗口 关闭窗口  
POP3协议命令原始码及工作原理
作者:佚名  文章来源:不详  点击数2058  更新时间:2007-5-18 3:06:49  文章录入:啊祖  责任编辑:啊祖

>  一 简介:

  1. POP适用于C/S结构的脱机模型的电子邮件协议,目前已发展到第三版,称POP3。脱机 模型即不能在线操作,不像IMAP4(netscape支持IMAP4)

  2. 当客户机与服务器连接并查询新电子邮件时,被该客户机指定的所有将被下载的邮件 都将被程序下载到客户机,下载后,电子邮件客户机就可以删除或修改任意邮件,而无需与电子邮件服务器进一步交互。

  3. POP3客户向POP3服务器发送命令并等待响应,POP3命令采用命令行形式,用ASCII码 表示。 服务器响应是由一个单独的命令行组成,或多个命令行组成,响应第一行以ASCII文本+ OK或-ERR指出相应 的操作状态是成功还是失败

  4. 在POP3协议中有三种状态,认可状态,处理状态,和更新状态。 当客户机与服务器建立联系时,一旦客户机提供了自己身份并成功确认,即由认可状态转入处理状态, 在完成相应的操作后客户机发出quit命令,则进入更新状态,更新之后最后重返认可状态。如下图

  等待连接 身份确认 quit命令

  —— |认可|————— |处理|——————|更新|

  |__________________________________|

  重返认可状态

  5. 认可状态的命令语句

  一般情况下,大多数现有的POP3客户与服务器执行采用ASCII明文发送用户名和口令,在 认可状态等 待客户连接的情况下,客户发出连接,并由命令user/pass对在网络上发送明文用户名和 口令给服务器

  进行身份确认。一旦确认成功,便转入处理状态。为了避免发送明文口令的问题,有一种新的认证方法,命令为APOP,使用APOP,口令在 传输之前被加密。 当第一次与服务器连接时,POP3服务器向客户机发送一个ASCII码问候,这个问候由一串字符组成对每个客户机是唯一的,与当时的时间有关,然后,客户机把它的纯文本口令附加到从服务器接 收到的字符串之后,然后计算出结果字符串的MD5单出函数消息摘要,客户机把用户名与MD5消息摘要作为APOP命令的参数一起发送出去。目前,大多数windows上的邮件客户软件不支持APOP命令,qpopper支持。

  6. POP3命令码如下:

  命令 参数 状态 描述

  ------------------------------------------

  USER username 认可 此命令与下面的pass命令若成功,将导致状态转换

  PASS password 认可

  APOP Name,Digest 认可 Digest是MD5消息摘要

  ------------------------------------------

打印本文 打印本文  关闭窗口 关闭窗口