POP3协议
POP3,全名为“Post Office Protocol - Version 3”,即“邮局协议版本3”。是TCP/IP协议族中的一员,由RFC 1939 定义(见 Reference/rfc1939 pop3.html)。本协议主要用于支持使用客户端远程管理在服务器上的电子邮件。提供了SSL加密的POP3协议被称为POP3S。
使用telnet 连接pop3
最直观的了解什么是POP3,我觉得采用telnet的方式用pop3连接到邮件服务器,进行邮件的接收是最有效的。
打开终端,(C:client, S:Server)
C: telnet 110 (用telnet方式连接163的pop3服务器,pop3协定端口为110)
S: Trying 202.108.5.100...
Connected to .
Escape character is '^]'.
+OK Welcome to coremail Mail Pop3 Server
(163coms[3d8c1fa079729fb6acc588e66d30360es])
(服务器通常开头返回+OK表示正确的回应,+ERR表示所发命令有误)
C: USER ***** (***处输入你的邮件用户名)
S: +OK core mail (表示接受)
C: PASS ***** (***处输入密码,这里都是明文显示)
S: +OK 5 message(s) [9782 byte(s)] (这里表示服务器接受该帐户,服务器上对应有5封邮件,总大小9782个字节)
C:LIST (LIST 命令列出每一封邮件的信息,己每封邮件对应的ID 号和大小)
S: +OK 5 9782
1 1298
2 1311
3 1224
4 1312
5 4637
.
C: TOP 1 0 (格式 TOP num 0, num代表邮件ID号,返回该邮件的头部信息)
S:+OK 1298 octets (服务器接受)
Received: from (unknown [221.10.25.6])
(返回的相关内容)
by smtp1 (Coremail) with SMTP id C9GowLCLsyoRy_JI5Ci2Mg==.42306S2;
Mon, 13 Oct 2008 12:14:10 +0800 (CST)
Date: Mon, 13 Oct 08 12:14:09 +0800 (CST)
From: tommy_mail@
To: tommy_mail
Subject: @@!$$%^&
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="=-plenware_alt_"
X-Coremail-Antispam: 1Uf129KBjDUn29KB7ZKAUJUUUUUYxn0WfASr-VFAUDa7-sFnT
9fnUUIcSsGvfJTRUUUjlxYjsxI4VWxJwAYFVCjjxCrM7AC8VAFwI0_Jr0_Gr1l1I0E4x80
FVCIwcAKzIAtM7C26IkvcIIF6IxKo4kEV4yl1IIY67AEw4v_Jr0_Jr4l5I8CrVACY4xI64
kE6c02F40Ex7xfMcIj6xIIjxv20xvE14v26r1Y6r17McIj6I8E87Iv67AKxVW8JVWxJwAC
Y4xI67k04243AVAKzVAKj4xxM4xvF2IEb7IF0Fy26I8I3I1lFVAaXTZC67ZELSn0mTvEwa
V2v3VFvVW8M4IE42xK82IY64kIx2x0424lw4CEF2IF47xS0VAv8wAKzVCY07xG64k0F24l
7I0Y64k_MxkFs20EY4vE77kJMxkIecxEwVAFwVW8XwCY0x0Ix7I2Y4AK64vIr41l4x8a6c
8ajcxJMI8E67AF67kF1VAFwI0_Jr0_JrylIxAIcVC0I7IYx2IY67AKxVWUJVWUCwCI42IY
6xIIjxv20xvEc7CjxVAFwI0_Jr0_Gr1lIxAIcVC2z280aVAFwI0_Gr0_Cr1lIxAIcVC2z2
80aVCY1x0267AKxVW8JVW8Jr1l6VACY4xI67k04243AbIYCTnIWIevJa73UjIFyTuYvjxU
yYZXDUUUU
Message-Id: <48F2CB12.33901D.26072@>
.
C: RETR 2 (格式 RETR num, num为邮件ID号,返回邮件全部源码)
S: +OK 1311 octets
Received: from (unknown [221.10.25.6])
by smtp4 (Coremail) with SMTP id DtGowLCrK4xUyvJIJeKfLg==.58545S2;
Mon, 13 Oct 2008 12:11:00 +0800 (CST)
.
.
.
.
.
.
--=-plenware_alt_--
.
C: NOOP (空操作,起延时作用,服务器会在一定时间内无操作的话自动退出)
S: +OK core mail
C: UIDL (邮件的唯一ID,通常称“独立-ID表”,用于唯一确定一封邮件,通常用于客户端判别已读未读)
S: +OK 5 9782
1 1tbiYAaMeEJw1XtwEgAAss (由服务器产生的邮件唯一ID,RFC文档上说是服务器内唯一,但估计说成全球唯一也不为过)
2 1tbiYAeMeEJw1XtoyQAAsu
3 1tbiYRaMeEJw2LVItgAAsi
4 1tbiwQqMeEij15ERZQAAsm
5 1tbiwReMeEij15EzUgAAsu
.
C: QUIT (退出命令)
S: +OK core mail
Connection closed by foreign host.
-------------------------------------------------------------------------------------------------------------------------*
更加详细的关于telnet的描述可参看 Reference/telnet 操作 smtp pop.html
POP3协议的状态和相关命令
POP3有三种状态:
a) The AUTHORIZATION State
当一个TCP连接从客户端连接到服务器以后,就进入了这个状态。通过常服务器会返回以下类似的信息:
S: +OK POP3 server ready
退出这个状态使用命令
[QUIT] Command .....................退出与POP3服务器的连接
b) The TRANSACTION State
当用户成功连接并登录到邮件服务器后,就进入了TRANSACTION状态。这个状态下可以使用的命令有: