
POP3(Post Office Protocol 3)即邮局协议的第3个版本,它规定怎样将个人计算机连接到Internet的邮件服务器和下载电子邮件的电子协议。它是因特网电子邮件的第一个离线协议标准,POP3允许用户从服务器上把邮件存储到本地主机(即自己的计算机)上,同时删除保存在邮件服务器上的邮件,而POP3服务器则是遵循POP3协议的接收邮件服务器,用来接收电子邮件的。
是TCP/IP协议族中的一员,POP3 服务所用的端口为110,由RFC 1939 定义。本协议主要用于支持使用客户端远程管理在服务器上的电子邮件
POP3默认端口为:110
POP3协议命令原始码及工作原理简介:
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命令码如下:
命令参数状态描述
------------------------------------------
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这个端口监听程序
9.考虑这种情况,若客户在收取邮件时,假定为15封信等待接收,但由于线路问题,收到第10封时断线了,
为什么下次收时仍然从第一封开始,也即为什么前10封没有被从服务器上删除掉?
任何邮件的删除都必须在quit命令发出后对已标记为删除的邮件执行删除操作,由于中途断线,仍处于处理状态,没有机会执行quit命令以进行状态转换。
10.pop3 session is locked by another session,please wait 10 minutes then try again.
由于非正常操作引起POP3程序内部机制锁住该次会话。
11.Foxmail与OE(outlookexpress)的处理机制的不同。
a.假定服务器上有三封邮件等待客户机接收。用foxmail与OE的不同之处在于
foxmail每收一封标记删除一封,而OE则等全部接收完后再全部标记为删除最后执行quit命令。
FoxmailOE
-------------------------------
retr1retr1
dele1retr2
retr2retr3
dele2dele1
retr3dele2
dele3dele3
quitquit
b.Foxmail的远程邮件管理是非常优秀的管理工具,假定服务器上有三封信,对第一封,我们不想接收
想从服务器直接删除;对第二封,想接收但不删除,对第三封,这一次不想接收,分别标记后最后foxmail发出的命令是
dele1
retr2
quit
c.若没有foxmail,正好有几封很大的信堵住了,我不想接收,想直接删除它,或者想查看这两封是谁发的?
直接在windows的DOS窗口下用命令行操作,如:
#telnetmy.isp.net110
userusername
passpassword
list
dele3
dele5
quit
--
POP3的操作指南[1]服务器允许符合POP3(PostOfficeProtocol,Version3邮件投递协议,版本3)的邮件客户端连接Imail服务器。这些邮件客户端软件包括OutlookExpress,Outlook,NetscapeMessenger或Communicator,Eudora,Pegasus,NuPOP,Z-Mail,FoxMail,TheBat,Kmail,和Unixmail。
POP3客户端通常采用“off-line”离线方式访问邮件服务器,会定时的访问邮件服务器,下载邮件到客户的电脑上,然后和服务器断开。一般的,邮件被临时的存储在服务器上,当客户端下载这些邮件后,它们将被服务器删除,不再保留。对于那些总是在同一台电脑上阅读邮件的用户来说,这种方式是十分适合得。另外一种方式,称为“online”在线方式,即邮件客户端总是和服务器保持连接。邮件被保持在服务器上,客户端不下载邮件到客户机上,用户可以在线的阅读保留在服务器上的邮件。那些经常使用不同电脑的用户适合于这种方式。ImailPOP3服务可以作为Windows NT服务,完全隐藏的运行或者可以以有某些交互的方式运行。该服务将一直运行即使你登出系统。
IMail同时提供另外一种访问方式IMAP4(InternetMessageAccessProtocolVersion4).IMAP4服务同时提供“在线”和“离线”访问方式。Logging On登入缺省的,POP3服务利用系统账号登入系统。你可以改变这种登入方式:
[2]POP3
1、在控制面板,启动Services小程序。
2、选择IMailPOP3 Server服务然后点击Startup。
3、(可选)选择您希望的StartupType。
4、在LogOnAs中,选择正确的登入帐号:IMailServerSystemAccount.如果您有邮件主机采用WindowsNT用户数据库作为Imail用户数据库,那么你需要使用该账号。AllowServicetoInteractwithDesktop.采用该账号时,任何用户登入系统时,桌面上都会有一个Imail的图标。
ThisAccount.采用这种方式时,如果你的主机中没有采用WindowsNT用户数据库的,你可以输入你希望的用户账号;确认该账号是一个主机管理员。如果您有邮件主机是利用外部数据库的,确认该账号可以访问外部数据库。
Configuringthe POP3 Server配置POP3服务器如何配置pop3服务器:
1、在IMailAdministrator中,在左边的面板中选择“localhost”。
2、选择“Services”目录然后点击POP3.POP3面板出现。
3、输入以下描述的选项以配置POP3服务。
4、单击按钮Apply保存设置。
5、停止服务,等待5-10秒然后重新启动服务。当你单击按钮Stop/Start后,将自动保存设置的改变。