當前位置:開發者網絡 >> 技術教程 >> PHP教程 >> 郵件處理 >> 內容
精彩推薦
分類最新教程
分類熱點教程
    
用PHP3閱讀IMAP郵件
作者:未知
日期:2004-10-09
人氣:
投稿:snow(轉貼)
來源:未知
字體:
收藏:加入瀏覽器收藏
以下正文:
你是不是抱怨過,當你呆在一個朋友的房子或拜訪親戚時,想檢查郵件但是不知道你的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中直接填入用戶名和口令即可。
相關文章: