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 . 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 ; 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?= To: 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: 您好! 这是一个邮件的小示例 QUIT +OK Pop server at 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 更新 退出
Statement:The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn