用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的话,在其收邮件的时候,你可以看到其信息提示窗口有这么一些命令:

  “正在连接到 62.123.23.123:110";
  "USERBOSS_CH";
  "PASS..............";
  下面让我们来看一段与POP3服务器对话的实录:

  telenetpop.china.com110
  +OKAIMCPOPservice(mail2.china.com)isready.
  USERboss_ch
  +OKPleaseenterpasswordforuser.
  PASS******
  +OKboss_chhas1messages(750octets)
  STAT
  +OK1750
  LIST
  +OK1messages(750octets)
  1750
  RETR1
  +OK750octets
  Received:fromsmtp2.ptt.js.cn([202.102.24.37])bychina.com(JetMail2.5.3.0)
  withSMTPidjm4839cc4227;Sat,23Sep200005:31:21-0000
  Received:fromchenjunqing([61.155.120.6])bysmtp2.ptt.js.cn
  (NetscapeMessagingServer4.15)withSMTPidG1BRHJ03.V07for
  ;Sat,23Sep200013:34:31+0800
  Date:Sat,23Sep200013: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:FoxMail3.1[cn]
  Mime-Version:1.0
  Content-Type:text/plain;charset="GB2312"
  Content-Transfer-Encoding:8bit
  Message-ID:
  您好!

  这是一个邮件的小示例

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

 

本文作者:



相关阅读:
一些常用的JS功能函数(2009-06-04更新)
asp.net 纯真ip库取得所在地实现代码
简析ORACLE数据库结构
JS 自动完成 AutoComplete(Ajax 查询)
有C# 来实现WEB服务器的应用分析
Javascript insertAfter() 实现函数代码
js文字链接的热点提示效果代码
实战:全面了解SQLServer注入过程
简单谈论Visual Basic.NET传输表空间
javascript showModalDialog 多层模态窗口实现页面提交及刷新的代码
一个多表查询引出的问题
jquery(1.3.2) 高亮选中图片边框
Javascript实现的CSS代码高亮显示
CSS入门教程:网页首字下沉
快速导航
PHP MySQL HTML CSS JavaScript MSSQL AJAX .NET JSP Linux Mac ASP 服务器 SQL jQuery C# C++ java Android IOS oracle MongoDB SQLite wamp 交通频道 作文范文 在庆祝建国57周年国庆节升旗仪式上的讲话 寂寞很吵,我很安静 临别前想到的……600字 忘不了你们啊,我最可爱的人-----我心中的共产党员 安全演练 地震逃生 圣诞节发给闺蜜的祝福语 他说,先爱到我的五十岁 蓝色怀想 龙年春节送给朋友的拜年短信 保持共产党员先进性教育心得体会(之一)_先进性教育 为何你会是我生命中的一滴泪 早餐作文600字 雁与白沙 学习宣传贯彻《公务员法》电视动员讲话 班会---放飞梦想 数学论文作文700字 因为有家所以才有过年的味道 没爱的心情 5种办法帮你在创业路上找对同行者 初中初一作文650字:我与猴哥游西藏 小学六年级作文1200字:柳芽儿 驴效考评 我是勇敢的千千 5月酒店工作总结范文 如果我微笑着和一座城挥手,挥别的却只是一个人... 人与鸟和谐相处作文800字 初中初二作文550字:大家都来演哑剧 如夏日阳光般热烈的情话爱情短信 小心情,小感想,写给身边的每一个人:心情日志 只要给我一颗糖,我可以幸福到心酸 高中高三作文550字:读《我的战友邱少云》有感 看图写话 保护小树 关于农村建设用地整理挂钩政策的思考 早安作文300字 教师学习南疆工作会议心得体会 供电局2016年上半年工作总结 超拽的qq说说2016 qq犀利的说说 我是个能干的小姑娘_600字 2014年第一场雪作文 雪莉克莱恩之开学前夕玄幻小说(6)作文1300字 只要生命不息,就要坚持到底 中国、中国人作文600字 妈妈说谎200字作文 游上海世博,话环保低碳作文500字 送给老师的花 招工启事范本 银行行长述职报告范文三篇 春姑娘来了500字 无言的孝是最美的 学生会述职报告范文

Copyright © 2016 phpStudy |