头脑风暴法
Using Subversion and ViewCVS on Solaris 10
CVS or Subversion
一流软件领导的10个特征
结构设计检查表
[讨论]什么是需求
五子棋的人工智能
学程序设计一定要有好的数学基础吗?
设计模式 to kj501
采用简化原型法进行需求分析 
页面导航:
正文内容:
pop协议简介
(作者:陈俊清 2000年10月18日 11:53)
本文简要说明了通过pop3协议收取邮件、mime邮件的解码的原理;针对收取和mime解码,提供了两个实用的php类,并提供了使用的样例。分为邮件收取、mime解码两个部分。这里我们先向您介绍邮件的收取,解码部分会在以后的文章中为各位详细的介绍,敬请关注。
现在internet上最大的应用应该是非email莫属了,我们每天都习惯于每天通过email进行交流,各大网站也几乎都推出了自己的基于web的免费邮件系统。在本文里,笔者将介绍一些email实现的一些原理。同时我们假设你对于php的编程有一定的基础,对于tcp/ip协议也有一定的了解。
pop 协议简介
pop的全称是 post office protoco ,即邮局协议,用于电子邮件的接收,现在常 用的是第三版 ,简称为 pop3。通过pop协议,客户机登录到服务器上后,可以对自己的邮件进行删除,或是下载到本地,下载后,电子邮件客户软件就可以在本地对邮件进行修改、删除等。另外一种用于接收信件的邮件是 imap 协议,现在发展很快,在本文中,我们暂不讨论。
pop服务器一般使用的是tcp的110号端口,如果你用的是foxmail的话,在其收邮件的时候,你可以看到其信息提示窗口有这么一些命令:
“正在连接到 62.123.23.123:110";
"user boss_ch";
"pass..............";
下面让我们来看一段 与 pop3 服务器对话的实录:
telenet pop.china.com 110
+ok aimc pop service (mail2.china.com) is ready.
user boss_ch
+ok please enter password for user <boss_ch>.
pass ******
+ok boss_ch has 1 messages (750 octets)
stat
+ok 1 750
list
+ok 1 messages (750 octets)
1 750
retr 1
+ok 750 octets
received: from smtp2.ptt.js.cn([202.102.24.37]) by china.com(jetmail 2.5.3.0)
with smtp id jm4839cc4227; sat, 23 sep 2000 05:31:21 -0000
received: from chenjunqing ([61.155.120.6]) by smtp2.ptt.js.cn
(netscape messaging server 4.15) with smtp id g1brhj03.v07 for
<boss_ch@china.com>; sat, 23 sep 2000 13:34:31 +0800
date: sat, 23 sep 2000 13:34:18 +0800
from: =?iso-8859-1?q?=b3=c2=bf=a1=c7=e5?= <boss_ch@netease.com>
to: boss_ch@china.com <boss_ch@china.com>
subject: =?iso-8859-1?q?=d3=ca=bc=fe=ca=be=c0=fd?=
x-mailer: foxmail 3.1 [cn]
mime-version: 1.0
content-type: text/plain; charset="gb2312"
content-transfer-encoding: 8bit
message-id: <g1brhj03.v07@smtp2.ptt.js.cn>
您好!
这是一个邮件的小示例
quit
+ok pop server at <mail2.china.com> signing off.
以下对几个常用的pop3命令作一个简单的介绍 :
命令 参数 状态 描述
------------------------------------------
user username 认可 此命令与下面的pass命令若成功,将导致状态转换
pass password 认可
apop name,digest 认可 digest是md5消息摘要
------------------------------------------
stat none 处理 请求服务器发回关于邮箱的统计资料,如邮件总数和总字节数
uidl [msg#] 处理 返回邮件的唯一标识符,pop3会话的每个标识符都将是唯一的
list [msg#] 处理 返回邮件数量和每个邮件的大小
retr [msg#] 处理 返回由参数标识的邮件的全部文本
dele [msg#] 处理 服务器将由参数标识的邮件标记为删除,由quit命令执行
rset none 处理 服务器将重置所有标记为删除的邮件,用于撤消dele命令
top [msg#] 处理 服务器将返回由参数标识的邮件前n行内容,n必须是正整数
noop none 处理 服务器返回一个肯定的响应,不做任何操作。
------------------------------------------
quit none 更新 退出