RFC1939-POP3协议中文版
POP3协议

介绍POP3协议的定义和作用POP3(Post Office Protocol version3)是一种用于电子邮件传输的协议。
它是互联网上最常用的电子邮件接收协议之一。
POP3协议允许用户从邮件服务器上下载电子邮件到本地计算机,以便离线阅读和管理邮件。
作用POP3协议的主要作用是提供一种标准化的方式,让用户通过邮件客户端应用程序(如Outlook、Thunderbird等)从邮件服务器上接收电子邮件。
以下是POP3协议的主要作用:1.接收邮件:用户可以使用POP3协议从邮件服务器上下载未读邮件到本地计算机,以便在没有网络连接的情况下阅读和处理邮件。
2.存储邮件:POP3允许用户选择在服务器上保留或删除已下载的邮件副本。
这样,用户可以自由地管理邮件,删除不需要的邮件,或者将重要的邮件保留在服务器上以备后续查看。
3.离线访问:由于POP3协议允许将邮件下载到本地计算机,用户可以在没有网络连接或者在移动设备上离线状态时,仍然能够阅读和处理邮件。
4.节省带宽:一旦邮件下载到本地计算机,用户可以在本地进行阅读和管理,而不需要频繁地与邮件服务器通信。
这样可以节省网络带宽的使用,尤其是对于使用低速或昂贵的网络连接的用户来说。
总的来说,POP3协议提供了一种方便、灵活和可靠的方式,让用户能够高效地接收和管理电子邮件。
无论是个人用户还是企业用户,都可以通过POP3协议来处理他们的邮件通信需求。
解释POP3协议的工作原理和基本流程POP3(Post Office Protocol version3)协议是一种客户端‑服务器协议,用于从邮件服务器上接收电子邮件。
下面是POP3协议的工作原理和基本流程:1.建立连接:邮件客户端应用程序与邮件服务器之间建立TCP连接。
通常,邮件服务器的标准端口是110。
一旦连接建立,客户端可以向服务器发送命令来获取邮件。
2.身份验证:客户端发送用户名和密码给服务器进行身份验证。
这些凭据用于确认用户的身份和权限,以便访问邮件。
POP3协议

三个状态
一个例子
命令和响应的格式是语法 命令和响应的意思则是语义 命令和各响应在时间上的关系则是同步。
一个例子
一个例子
对于上述的过程,补充如下几点内容。 1) “C:”开头的行(不包括"C:")是客户端的输入,而以 “S:”开头的行(不包括"S:")则是服务器的输出 2) 上述的命令并不一定会一次性成功,服务器会返回错误响 应(以“-ERR”开头),客户端应该按照协议规定的时序,来输入 后续的命令(或重复执行失败的命令,或重置会话,或退出会话等 等) 3) 上述过程是示意性的,实际过程可能与其有较大不同。例 如,实际过程中可能使用加密认证(MD5摘要认证) 4) RETR下载下来的邮件可能会难以看懂,这是因为其可能使 用了quoted-printable编码或base64编码,可用Foxmail等用户 代理软件来解码它。
通信过程
用户从邮件服务器上接收邮件的典型通信过程如下 5) 3)和4)交替进行,直到接收完所有邮件转到步 骤6),或两者的连接被意外中断而直接退出。 6)用户代理解析从服务器端获得的邮件,以适当形 式(如可读)的形式呈现给用户。 其中2)、3)和4)用POP3协议通信。可以看出命令 和响应是POP3通信的重点
RFC1939 POP3 协议
Post Office Protocol - Version 3
POP3协议详解

POP3协议详解一、协议介绍POP3(Post Office Protocol version 3)是一种用于电子邮件的协议,它允许用户从远程服务器上下载邮件到本地计算机。
POP3协议是互联网标准协议之一,它定义了客户端与服务器之间的通信方式和规则。
本文将详细介绍POP3协议的工作原理、命令和响应格式等内容。
二、协议工作原理1. 连接建立POP3协议使用TCP连接,客户端通过连接到POP3服务器的默认端口(110)与服务器建立连接。
2. 用户认证连接建立后,客户端需要进行用户认证。
客户端发送USER命令,后跟用户名,然后发送PASS命令,后跟密码。
如果认证成功,服务器将返回+OK响应;否则返回-ERR响应。
3. 邮件操作认证成功后,客户端可以执行以下操作:- LIST命令:获取邮件列表。
服务器返回每封邮件的唯一标识符和大小。
- RETR命令:获取指定邮件的内容。
服务器返回邮件的头部和正文。
- DELE命令:标记指定邮件为删除状态。
- NOOP命令:保持连接活跃。
- QUIT命令:断开与服务器的连接,并将标记为删除的邮件从服务器上删除。
4. 数据传输邮件内容的传输采用多行文本的方式,每行以回车符和换行符(CRLF)结束。
三、命令和响应格式1. 命令格式POP3协议的命令由客户端发送到服务器,格式如下:<command> <parameters><CRLF>2. 响应格式POP3协议的响应由服务器发送到客户端,格式如下:<status> <response><CRLF>其中,status表示响应的状态,可以是+OK或-ERR;response表示响应的具体内容。
四、示例下面是一些常用的POP3命令示例:- 客户端发送命令:USER username服务器返回响应:+OK User accepted- 客户端发送命令:PASS password服务器返回响应:+OK Mailbox open- 客户端发送命令:LIST服务器返回响应:+OK 2 messages (320 octets)1 1202 200- 客户端发送命令:RETR 1服务器返回响应:+OK 120 octets<邮件头部><邮件正文>- 客户端发送命令:DELE 1服务器返回响应:+OK Message 1 marked for deletion- 客户端发送命令:NOOP服务器返回响应:+OK- 客户端发送命令:QUIT服务器返回响应:+OK Bye-bye五、安全性考虑POP3协议在数据传输过程中没有加密机制,因此可能存在安全风险。
电子邮件毕业设计论文

题目电子邮件系统电子邮件系统摘要描述internet迅速发展,电子邮件已经成为信息交换的主要载体,电子邮件成为目前互联网上流行,方便快捷的通讯工具,随着网络发展普及,电子邮件的应用更加广泛。
本文提出一款适合大众用户的电子邮件系统,该电子邮件系统的主要功能模块包括登陆模块,收发模块和通讯录模块等。
首先概括性的介绍电子邮件系统软件的发展趋势及其电子邮件收发系统应用到相关知识,SMTP协议,POP协议等基本概念以及JSP概述。
从JSP技术分析着手,分析利用JSP技术对本系统设计开发的过程。
描述电子邮件收发系统的开发环境和编程语言然后对电子邮件系统进行总体设计。
再分别对各功能模块进行详细的分析设计,最后使用用例对系统进行测试。
关键词:电子邮件,SMTP,POP3, JSPEmail systemAbstractDescription the internet rapid development, The email already became the exchange of information the main carrier. The E-mail is most convenient, most swift communication tool on Internet at present, with the popularization of the network its application will be more extensive.This article proposed section electronic mail system which is suited to the populace users. The main function module of mail system including the module of users landing, the module of receiving and dispatching mail, the module of address book and so on.First concise quality introduction electronic mail system software development and its email receiving and dispatching system application related knowledge SMTP POP basic concept and JSP summarize. The article will analysis from the JSP technology, dissect the process of design development of this system using JSP technology. The description email receiving and dispatching system development environment and the programming language then carries on the system design to the electronic mail system. Then separately carries on the detailed analysis design to the function module, finally uses with the example carries on the test for the system. Keyword:Email ,Simple Mail Transfer Protocol , Post Office Protocol 3.目录摘要.......................................................... I I ABSTRACT........................................................... I I 第一章绪论. (1)1.1引言 (1)1.2国内外研究现状及发展趋势 (1)1.3课题的主要研究内容 (2)第二章系统需求及可行性分析 (3)2.1系统的初步调查 (3)2.1.1 系统调查方法 (3)2.2系统设计目标 (3)2.3系统可行性分析 (3)2.4基本技术介绍 (4)2.4.1 POP3协议中文版-RFC1939简介 (4)2.4.2 POP3协议简介 (4)2.4.3 SMTP协议简介 (4)2.4.4 JSP技术概述 (4)2.4.5 JSP工作原理 (5)2.4.6 SQL Server2000 (5)第三章系统总体分析 (6)3.1系统总体结构 (6)3.2系统总体分析 (6)3.3系统功能模块分析 (8)第四章系统设计 (9)4.1电子邮件收发系统的开发环境 (9)4.2数据库设计 (9)4.3各主要功能模块设计 (9)4.4各数据表设计 (10)第五章系统代码设计 (12)5.1各个模块的详细设计 (12)第六章系统测试方案 (20)6.1测试方案和测试结果 (20)第七章总结和展望 (23)7.1总结 (23)7.2系统今后的发展方向 (23)致谢 (24)参考文献: (25)附件一 (26)英文原文 (26)中文译文 (31)第一章绪论1.1引言因特网的诞生成为当今世界上最大的网络使人们信息交流不再受那么多的限制,电子邮件是internet服务的重要部分。
POP3协议详解

POP3协议详解一、介绍POP3(Post Office Protocol version 3)是一种用于接收电子邮件的协议。
它允许用户通过电子邮件客户端从邮件服务器上下载邮件,并在本地进行管理。
本文将详细介绍POP3协议的工作原理、命令和响应格式、安全性等方面的内容。
二、工作原理1. 连接建立首先,客户端与邮件服务器建立TCP连接,使用默认端口号110进行通信。
客户端发送一条连接请求命令(例如:USER username),服务器返回一条连接成功的响应(例如:+OK Connected)。
2. 身份验证接下来,客户端发送用户名和密码进行身份验证,以便访问特定用户的邮件。
客户端发送USER命令,服务器返回+OK或者-ERR响应;然后客户端发送PASS 命令,服务器再次返回+OK或者-ERR响应。
3. 邮件列表身份验证成功后,客户端可以发送LIST命令获取邮件列表。
服务器返回一条以行号和邮件大小组成的响应,表示每封邮件的信息。
客户端可以选择下载指定邮件或者全部邮件。
4. 下载邮件客户端发送RETR命令,后跟邮件的行号,以下载指定邮件。
服务器返回以.(点号)结尾的响应,表示邮件的内容。
客户端将接收到的邮件保存在本地。
5. 删除邮件如果用户希翼从服务器上删除邮件,客户端可以发送DELE命令,后跟邮件的行号。
服务器返回+OK或者-ERR响应,表示邮件是否成功删除。
6. 退出连接当用户完成所有操作后,客户端发送QUIT命令,关闭与服务器的连接。
服务器返回一条+OK响应,并关闭连接。
三、命令和响应格式1. 命令格式POP3协议定义了一系列命令,用于与服务器进行交互。
命令通常由一个关键字和可选的参数组成,以空格分隔。
例如:USER username,PASS password。
2. 响应格式服务器对每一个命令都会返回相应的响应。
响应通常由一个状态码和一个可选的描述信息组成,以空格分隔。
状态码以+OK或者-ERR开头,表示命令执行成功或者失败。
POP3协议详解

POP3协议详解一、协议概述POP3(Post Office Protocol Version 3)是一种用于电子邮件客户端与邮件服务器之间进行通信的协议。
它允许用户从邮件服务器上下载邮件到本地计算机,并且可以选择是否保留在服务器上。
POP3协议是最常用的电子邮件协议之一,被广泛应用于个人电子邮件服务和企业内部邮件系统。
二、协议工作流程1. 连接建立客户端使用TCP/IP协议与邮件服务器建立连接。
POP3默认使用110端口进行通信。
2. 身份验证客户端发送用户名和密码给邮件服务器进行身份验证。
如果身份验证成功,服务器将返回一个“+OK”响应;否则返回一个“-ERR”响应。
3. 邮件操作a. 列出邮件(LIST)客户端发送“LIST”命令给服务器,服务器返回邮件的数量和大小信息。
b. 检索邮件(RETR)客户端发送“RETR n”命令给服务器,其中n表示邮件的编号。
服务器返回该邮件的内容。
c. 删除邮件(DELE)客户端发送“DELE n”命令给服务器,其中n表示邮件的编号。
服务器将该邮件标记为删除状态。
d. 退出(QUIT)客户端发送“QUIT”命令给服务器,服务器断开连接并关闭会话。
在退出之前,服务器会删除所有标记为删除的邮件。
4. 会话管理客户端可以在同一会话中进行多次操作,直到发送QUIT命令为止。
服务器会在每次操作后返回响应,客户端根据响应判断操作是否成功。
三、协议特点1. 简单易用POP3协议设计简单,操作直观,易于实现和使用。
2. 离线访问POP3协议允许用户下载邮件到本地计算机,可以在没有网络连接的情况下查看和处理邮件。
3. 邮件保留用户可以选择在下载邮件后是否保留在邮件服务器上。
这对于移动设备用户和多设备同步非常有用。
4. 无法处理文件夹和标记POP3协议只支持简单的邮件操作,无法处理文件夹和标记等高级功能。
5. 安全性较低POP3协议在身份验证过程中使用明文传输密码,容易受到中间人攻击。
POP3协议详解

POP3协议分析第1章POP3概述POP3全称为Post Office Protocol version3,即邮局协议第3版。
它被用户代理用来邮件服务器取得邮件。
POP3采用的也是C/S通信模型,对应的RFC 文档为RFC1939。
该协议非常简单,所以我们只重点介绍其通信过程,而相关的一些概念和术语请参考RFC文档或另外一篇文章《SMTP协议分析》第2章.POP3详解2.1通信过程用户从邮件服务器上接收邮件的典型通信过程如下。
1)用户运行用户代理(如Foxmail, Outlook Express)。
2)用户代理(以下简称客户端)与邮件服务器(以下简称服务器端)的110端口建立TCP连接。
3)客户端向服务器端发出各种命令,来请求各种服务(如查询邮箱信息,下载某封邮件等)。
4)服务端解析用户的命令,做出相应动作并返回给客户端一个响应。
5)3)和4)交替进行,直到接收完所有邮件转到步骤6),或两者的连接被意外中断而直接退出。
6)用户代理解析从服务器端获得的邮件,以适当地形式(如可读)的形式呈现给用户。
其中2)、3)和4)用POP3协议通信。
可以看出命令和响应是POP3通信的重点,我们将予以重点讲述。
2.2命令和响应2.2.1.格式POP3的命令不多,它的一般形式是:COMMAND [Parameter] <CRLF>。
其中COMMAND是ASCII形式的命令名,Parameter是相应的命令参数,<CRLF>是回车换行符(0DH, 0AH)。
服务器响应是由一个单独的命令行组成,或多个命令行组成,响应第一行“+OK”或“-ERR”开头,然后再加上一些ASCII文本。
“+OK”和“-ERR”分别指出相应的操作状态是成功的还是失败的。
2.2.2.三个状态POP3协议中有三种状态,认正状态,处理状态,和更新状态。
命令的执行可以改变协议的状态,而对于具体的某命令,它只能在具体的某状态下使用,这些请参看表1和RFC193。
POP3协议详解

POP3协议详解一、引言POP3(Post Office Protocol version 3)是一种用于接收电子邮件的协议。
它允许用户从邮件服务器上下载电子邮件到本地计算机上的邮件客户端。
本协议详解将对POP3协议的工作原理、数据格式、命令和响应进行详细描述。
二、协议概述1. POP3协议是基于客户端-服务器模型的协议,客户端通过与邮件服务器建立TCP连接来进行通信。
2. POP3协议使用默认端口110进行通信。
3. POP3协议使用明文传输,因此不提供加密保护。
三、协议流程1. 连接建立阶段a. 客户端与服务器建立TCP连接。
b. 客户端发送"USER"命令,提供用户名。
c. 客户端发送"PASS"命令,提供密码。
2. 邮件检索阶段a. 客户端发送"STAT"命令,获取邮件数量和总大小。
b. 客户端发送"LIST"命令,获取每封邮件的编号和大小。
c. 客户端发送"RETR"命令,获取指定邮件的内容。
d. 客户端可以选择发送"DELE"命令,标记要删除的邮件。
3. 邮件删除阶段a. 客户端发送"QUIT"命令,结束会话。
b. 服务器删除标记为删除的邮件。
四、数据格式1. 命令格式POP3协议中的命令由命令关键字和参数组成,使用空格分隔。
命令以回车换行符(CRLF)结尾。
例如:USER username<CRLF>2. 响应格式POP3协议中的响应由状态码和响应消息组成,使用空格分隔。
响应以回车换行符(CRLF)结尾。
例如:+OK Welcome<CRLF>3. 邮件格式POP3协议中的邮件使用MIME(Multipurpose Internet Mail Extensions)格式进行编码和传输。
五、常用命令和响应1. 命令a. USER:提供用户名。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 简介对于在网络上的比较小的结点,支持消息传输系统(MTS)是不实际的。
例如,一台工作站可能不具有充足的资源允许SMTP服务器和相当的本地邮件传送系统保持序驻留,并持续运行。
同样的,将一台个人计算机长时间连接在IP类型网络上的费用也是可观的(结点缺少的资源被称为"联络性")。
虽然如此,在这样的小结点上允许管理邮件是十分有用的,并且这些结点经常支持一个用户代理来管理邮件。
为解决这一问题,能够支持MTS的结点就为这些不能支持的结点提供了邮件存储功能。
邮局协议-版本3就是使这样的工作站可以用一种比较实用的方法来访问存储于服务器上的储存邮件。
通常,这意味着工作站可以从服务器上取得邮件,而服务器为它暂时保存邮件。
在下文中,客户主机指的是利用POP3服务的主机,而服务器主机指的是提供POP3服务的主机。
2. 简单说明在此文档中不指明客户主机如何将邮件送入到传送系统中去。
但这里有一个说明:当用户代理需要将信息送到传送系统时,它在接力主机上建立SMTP连接(这些接力主机可以是POP3主机,也可以不是)。
3. 基本操作初始时,服务器通过侦听TCP端口110开始POP3服务。
当客户主机需要使用服务时,它将与服务器主机建立TCP连接。
当连接建立后,POP3发送确认消息。
客户和POP3服务器相互(分别)交换命令和响应,这一过程一直要持续到连接终止。
POP3命令由一个命令和一些参数组成。
所有命令以一个CRLF对结束。
命令和参数由可打印的ASCII 字符组成,它们之间由空格间隔。
命令一般是三到四个字母,每个参数却可达40个字符长。
POP3响应由一个状态码和一个可能跟有附加信息的命令组成。
所有响应也是由CRLF对结束。
现在有两种状态码,"确定" ("+OK")和"失败" ("-ERR")。
对于特定命令的响应是由许多字符组成的。
在这些情况中,下面一一表述:在发送第一行响应和一个CRLF之后,任何的附加信息行发送,他们也由CRLF对结束。
当所有信息发送结束时,发送最后一行,包括一个结束字符(十进制码46,也就是".")和一个CRLF对。
如果信息中的任何一行以结束字符开始,此行就是通过在那一行预先装入结束而进行字符填充的。
因此,多行响应由五个CRLF.CRLF 结束。
当检测多行响应时,客户检测以确认此行是否以结束字符开始。
如果是的,而且其后的字符不是CRLF,此行的第一个字符(结束字符)将被抛弃;如果其后紧跟CRLF,从POP服务器来的响应终止,包括.CRLF 的行也不被认为是多行响应的一部分了。
在生命周期中,POP3会话有几个不同的状态。
一旦TCP连接被打开,而且POP3服务器发送了确认信息,此过程就进入了"确认"状态。
在此状态中,客户必须向POP3服务器确认自己是其的客户。
一旦确认成功,服务器就获取与客户邮件相关的资源,此时这一过程进入了"操作"状态。
在此状态中,客户提出服务,当客户发出QUIT命令时,此过程进入了"更新"状态。
在此状态中,POP3服务器释放在"操作"状态中取得的资源,并发送消息,终止连接。
POP3服务器可以拥有一个自动退出登录的记时器。
此记时器必须至少可以记录10分钟。
这样从客户发送的消息才可能刷新此记时器。
当记时器失效时,POP3会话并不进入"更新"状态,而是关闭TCP连接,而且不删除任何消息,不向客户发送任何响应。
4. "确认"状态一时TCP连接由POP3客户打开,POP3服务器发送一个单行的确认。
这个消息可以是由CRLF结束的任何字符。
例如,它可以是:S: +OK POP3 server ready注意:这个消息是一个POP3应答。
POP3服务器应该给出一个"确定"响应作为确认。
此时POP3会话就进入了"确认"状态。
此时,客户必须向服务器证明它的身份。
在文档中介绍两种可能的处理机制,一种是USER和PASS命令,另一种是在后面要介绍的APOP命令。
用USER和PASS命令进行确认过程,客户必须首先发送USER命令,如果POP3服务器以"确认"状态码响应,客户就可以发送PASS命令以完成确认,或者发送QUIT命令终止POP3会话。
如果POP3服务器返回"失败"状态码,客户可以再发送确认命令,或者发送QUIT命令。
当客户发送了PASS命令后,服务器根据USER和PASS命令的附加信息决定是否允许访问相应的存储邮件。
一旦服务器通过这些数据决定允许客户访问储存邮件,服务器会在邮件上加上排它锁,以防止在进入"更新"状态前对邮件的改变。
如果成功获得了排它锁,服务器返回一个"确认"状态码。
会话进入"操作状态",同时没有任何邮件被标记为删除。
如果邮件因为某种原因不能打开(例如,排它锁不能获得,客户不能访问相应的邮件或者邮件不能进行语法分析),服务器将返回"失败"状态码。
在返回"失败"状态码后,服务器会关闭连接。
如果服务器没有关闭连接,客户可以重新发送确认命令,重新开始,或者发送QUIT命令。
在服务器打开邮件后,它为每个消息指定一个消息号,并以八进制表示每个消息的长度。
第一个消息被指定为1,第二个消息被指定为2,以此类推,第N个消息被指定为N。
在POP3命令和响应中,所以的消息号和长度以十进制表示。
下面是对上述三条命令的总结:5. "操作"状态一旦客户向服务器成功地确认了自己的身份,服务器将锁住并打开相应的邮件,这时POP3会话进入"操作"状态。
现在客户可以重复下面的POP3命令,对于每个命令服务器都会返回应答。
最后,客户发送QUIT命令,会话进入"更新"状态。
下面是在"操作"状态中可用的命令:6."更新"状态当客户在"操作"状态下发送QUIT命令后,会话进入"更新"状态。
(注意:如果客户在"确认"状态下发送QUIT后,会话并不进入"更新"状态。
如果会话因为QUIT命令以外的原因中断,会话并不进入"更新"状态,也不从服务器中删除任何信件。
7.可选的POP3命令以上讨论的命令是对POP3服务的最小实现。
以下说明的可选命令允许客户更方便地处理信件,这是一个比较一般的POP3服务实现。
.TOP msg n【参数】一个是未被标记为删除的信件数,另一个是非负数(必须提供)【限制】仅在"操作"状态下使用。
【说明】如果服务器返回"确认",响应是多行的。
在初始的+OK后,服务器发送信件头,一个空行将信件头和信件体分开,对于多行响应要注意字节填充终止符。
注意:如果客户要求的行数比信件体中的行数大,服务器会发送整个信件。
【响应】+OK:其后有信件头;-ERR:其后无类似消息。
【例子】C: TOP 1 10S: +OKS: <服务器发送消息头,一个空行和信件的头10行>S: ....C: TOP 100 3S: -ERR no such message.UIDL [msg]【参数】信件数(可选)。
如果给出信件数,不包括被标记为删除的信件。
【限制】仅在"操作"状态下使用。
【说明】如果给出了参数,且POP3服务器返回包括上述信息的"确认",此行称为信息的"独立-ID表"。
如果没有参数,服务器返回"确认"响应,此响应便以多行给出。
在初的+OK后,对于每个信件,服务器均给出相应的响应。
此行叫做信件的"独立-ID表"。
为简化语法分析,所有服务器要求使用独立-ID表的特定格式。
它包括空格和信件的独立-ID。
信件的独立-ID由0x21到0x7E字符组成,这个符号在给定的存储邮件中不会重复。
注意:信件不包括被标记为删除的信件。
【响应】+OK:其后是独立-ID表;-ERR:其后无类似信件。
【例子】C: UIDLS: +OKS: 1 whqtswO00WBw418f9t5JxYwZS: 2 QhdPYR:00WBw1Ph7x7S: ....C: UIDL 2S: +OK 2 QhdPYR:00WBw1Ph7x7...C: UIDL 3S: -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@>C: APOP mrose c4c9334bac560ecc979e58001b3e22fbS: +OK maildrop has 1 message (369 octets)在此例子中,共享密钥<1896.697170952@>tanstaaf由MD5算法生成,它产生了digest 值,c4c9334bac560ecc979e58001b3e22fb8. POP3命令总结基础的POP3命令:USER name 在"确认"状态有效PASS stringQUITSTAT 在"操作"状态有效LIST [msg]RETR msgDELE msgNOOPRSETQUIT 在"更新"状态有效可选的POP3命令:APOP name digest 在"确认"状态有效TOP msg n 在"操作"状态有效UIDL [msg]POP3 响应:+O-ERR注意:除了STA T,LIST和UIDL的响应外,其它命令的响应均为"+OK"和"-ERR"。