帝国软件
  设为首页 加入收藏 关于我们
 
解密帝国网站管理系统
栏 目:
 
您的位置:首页 > 技术文档 > PHP编程
用PHP3阅读IMAP邮件
作者:匿名 发布时间:2002-12-28 来源:phpuser

作者:Mark Musone 翻译:limodou

  你是不是抱怨过,当你呆在一个朋友的房子或拜访亲戚时,想检查邮件但是不知道你的POP/IMAP设置。或者更糟的是,他们没有POP或IMAP软件?

  基于Web的电子邮件似乎只是在最近才在网上被谈起。这里就是如何使用PHP来生成一个快速的,简单的和有效的IMAP或POP 邮件阅读器。一旦这个做好了,你现在就能够从世界的任何一个角落仅用一个浏览器来阅读你的邮件。

  第一件必需知道的是确认你已经具有了一个可用的IMAP服务器。你可以从ftp://ftp.cac.washington.edu/imap得到UW IMAP服务软件和库函数(你将需要把这个库编译进PHP中,所以你可能也要安装同库在一起的IMAP服务软件)。

  一旦你已经运行了IMAP服务器并且用IMAP支持编译过了PHP(确信你读过了PHP文档中关于如何编译支持IMAP的PHP),剩下的就很easy了!

  我们将生成一个好用和简单的基于3个脚本的mail阅读程序。

  第一个脚本将用来读取用在IMAP中的用户名及口令。我们将使用标准的PHP认证功能来做。

login.php3 包含:

--------------------------------------------------------------------------------

<?php 

if (!$PHP_AUTH_USER) { 

    Header("WWW-authenticate: basic realm="Mail Chek"");     

    Header("HTTP/1.0 401 Unauthorized"); } 

else { 

    $MYDIR=ereg_replace("/[^/]+$","",$PHP_SELF);     

    Header("Location: $SERVER_NAME$MYDIR/messages.php3"); } 

?> 



--------------------------------------------------------------------------------
  它简单地读取你的用户名和口令并且重定向到邮件阅读页面。

messages.php3 包含:

--------------------------------------------------------------------------------
<?php 

    $MAILSERVER="{localhost/imap}"; 

    $link=imap_open($MAILSERVER,$PHP_AUTH_USER,$PHP_AUTH_PW);

    $headers=imap_headers($link); 

    for($x=1; $x < count($headers); $x++) {     $idx=($x-1); 

    echo "<a href="view.php3?num=$x">$headers[$idx]</a><br>"; } 

?> 


--------------------------------------------------------------------------------
  它打开一个IMAP连接到通过$MAILSERVER所指定的邮件服务器,传递你的用户名和口令。

  它然后在一个循环中得到一个所有邮件的信息头的列表,把它们打印出来。在打印出来之外,也给每一
个信息头生成了一个指向view.php3的链接,传递给view.php3信息头的信息序号。

view.php3 包含:

--------------------------------------------------------------------------------
<?php
    $MAILSERVER="{localhost/imap}"; 

    $link=imap_open($MAILSERVER,$PHP_AUTH_USER,$PHP_AUTH_PW);

    $header=imap_header($link,$num); 

    echo "From: $header[fromaddress]<br>"; 

    echo "To: $header[toaddress]<br>"; 

    echo "Date: $header[Date]<br>"; 

    echo "Subject: $header[Subject]<br><br>"; 

    echo imap_body($link,$num); 

?> 

--------------------------------------------------------------------------------
  view.php3象上面一样打开IMAP连接,并且得到邮件消息的头信息,将其打印出来。

  它然后读出邮件信息的信息体并打印到屏幕上。

  就是它了!你现然拥有了一个基于web功能的邮件程序器...Hotmail要小心了,php来了!;^)



--------------------------------------------------------------------------------

翻译的话:

  这篇文章很简单地实现了一个可以阅读IMAP邮件协议的邮件阅读程序。但是首先要在本地安装一个IMAP
邮件服务器才可以。我试验的时候使用了国内的支持IMAP的免费邮件,大家可以去http://www.363.net去申
请。这样邮件服务器地址应该改成为:{363.net:143}。还有一点要注意的是在messages.php3中,它将取出
每一个邮件的头,但有时虽然有邮件可能取不出来,我想也许是没有主题的原因吧,只是我的想象。所以大
家在试验的时候,邮件最好写出主题。这篇文章比较简单,我将在某个时间写一篇比较复杂的文章向大家继
续介绍用PHP处理IMAP的编程。还有一点就是第一个脚本由于是用来读入用户名及口令的,所以可以不用,
在messages.php3中直接填入用户名和口令即可。

转自:PHPBuilder.com
  
评论】【加入收藏夹】【 】【打印】【关闭
※ 相关链接
 ·PEAR:使用PHPDoc轻松建立你的PE  (2005-03-11)
 ·用PHP创建动态图形  (2005-03-11)
 ·如何用PHP把RDF内容插入Web站点之  (2005-03-11)
 ·如何用PHP把RDF内容插入Web站点之  (2005-03-11)
 ·如何用PHP把RDF内容插入Web站点之  (2005-03-11)
 ·如何用PHP把RDF内容插入Web站点之  (2005-03-11)
 ·如何用PHP把RDF内容插入Web站点之  (2005-03-11)
 ·用PHP编写PDF文档生成器  (2005-03-11)
 ·用PHP 4.2书写安全的脚本  (2005-03-11)
 ·如何用PHP做到即时简繁切换  (2005-03-11)

   栏目导行
  PHP编程
  ASP编程
  ASP.NET编程
  JAVA编程
   站点最新
·致合作伙伴的欢迎信
·媒体报道
·帝国软件合作伙伴计划协议
·DiscuzX2.5会员整合通行证发布
·帝国CMS 7.0版本功能建议收集
·帝国网站管理系统2012年授权购买说
·PHPWind8.7会员整合通行证发布
·[官方插件]帝国CMS-访问统计插件
·[官方插件]帝国CMS-sitemap插件
·[官方插件]帝国CMS内容页评论AJAX分
   类别最新
·Windows下集成安装Apache,PHP,MYSQ
·Mysql注入:SQL Injection with MyS
·PHP 的来龙去脉
·PHP 的功能概述
·PHP与其它CGI的比较
·PHP 的编译配置详细选项
·php.ini 配置详细选项
·如何写作PHP程序
·Hello,World
·嵌入方法
 
关于帝国 | 广告服务 | 联系我们 | 程序开发 | 网站地图 | 留言板 帝国网站管理系统