用PHP实现POP3邮件的收取

本文简要说明了通过POP3协议收取邮件、MIME邮件的解码的原理;针对收取和MIME解码,提供了两个实用的PHP类,并提供了使用的样例。分为邮件收取、MIME解码两个部分。这里我们先向您介绍邮件的收取,解码部分会在以后的文章中为各位详细的介绍,敬请关注。

现在Internet上最大的应用应该是非Email莫属了,我们每天都习惯于每天通过Email进行交流,各大网站也几乎都推出了自己的基于WEB的免费邮件系统。在本文里,笔者将介绍一些Email实现的一些原理。同时我们假设你对于PHP的编程有一定的基础,对于TCP/IP协议也有一定的了解。

POP协议简介

POP的全称是PostOfficeProtoco,即邮局协议,用于电子邮件的接收,现在常用的是第三版,简称为POP3。通过POP协议,客户机登录到服务器上后,可以对自己的邮件进行删除,或是下载到本地,下载后,电子邮件客户软件就可以在本地对邮件进行修改、删除等。另外一种用于接收信件的邮件是IMAP协议,现在发展很快,在本文中,我们暂不讨论。

POP服务器一般使用的是TCP的110号端口,如果你用的是Foxmail的话,在其收邮件的时候,你可以看到其信息提示窗口有这么一些命令:

下面让我们来看一段与POP3服务器对话的实录:

以下对几个常用的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   更新退出

关于稚子

你们眼中的草根
此条目发表在BS架构后台语言分类目录,贴了, 标签。将固定链接加入收藏夹。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注