当前位置: 首页 > 图文教程 > 网络编程 > PHP > 用php实现pop3邮件的收取

PHP
php ignore_user_abort与register_shutdown_function 使用方法
PHP写MySQL数据 实现代码
phpmyadmin 访问被拒绝的真实原因
PHP 程序员也要学会使用“异常”
php MYSQL 数据备份类
PHP 类型转换函数intval
php 图像函数大举例(非原创)
PHP 输出缓存详解
PHP COOKIE设置为浏览器进程
ie6 动态缩略图不显示的原因
php 将bmp图片转为jpg等其他任意格式的图片
discuz7 phpMysql操作类
一个php Mysql类 可以参考学习熟悉下
php 分页函数multi() discuz
学习discuz php 引入文件的方法DISCUZ_ROOT
php fckeditor 调用的函数
mysql 性能的检查和优化方法
PHP 高级课程笔记 面向对象
PHP 多进程 解决难题
php 404错误页面实现代码

PHP 中的 用php实现pop3邮件的收取


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 159 ::
收藏到网摘: n/a

用PHP实现POP3邮件的收取
  troyoo.com超越 发布日期:2004-08-09 14:51 发布人:chengxin119 〖关闭窗口〗
1 [2] [3] 下一页
作者信息:陈俊清()developer
文章信息:中级 初发日期:2004 08 关键字:PHP POP3 email
来源链接:http://developer.ccidnet.com/pub/disp/Article?columnID=295&articleID=10468&pageNO=1

摘要:
本文简要说明了通过POP3协议收取邮件、MIME邮件的解码的原理;针对收取和MIME解码,提供了两个实用的PHP类,并提供了使用的样例。分为邮件收取、MIME解码两个部分。
本文简要说明了通过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
<[email protected]> 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?= <[email protected]>
To: [email protected] <[email protected]>
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: <[email protected]>
您好!
这是一个邮件的小示例
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  更新 退出
 
用PHP实现POP3邮件的收取  第 2 页
  troyoo.com超越 发布日期:2004-08-09 14:54 发布人:chengxin119 〖关闭窗口〗
第一页 [1] 2 [3] 下一页