长沙北大青鸟作者:科泰校区匿名
作者: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"); } ?>
<?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>"; } ?>
$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); ?>--------------------------------------------------------------------------------