2013-05-25 67 views
2

我對PHP的PEAR擴展很新,想知道如何使用PEAR列出郵箱中的所有郵件。我成功地製作了一個程序,可以找到您最近的信息,但是我想讓它能夠列出您郵箱中的所有信息。我相信這將使用PEAR的pop3部分完成,但我不知道如何去做。有人有任何想法嗎?這可能與PEAR有關嗎? 目前,我有這個代碼列出最新的消息:使用PEAR列出郵箱中的所有郵件

  //create pear object 
    require_once 'Net/POP3.php'; 
    $pop3 =& new Net_POP3(); 

    //connect to email provider 
    if(PEAR::isError($ret = $pop3->connect($host, $port))){ 
     throw new ConnException($ret->getMessage()); 
    } 

    if(PEAR::isError($ret = $pop3->login($user, $pass, 'USER'))){ 
     throw new ConnException($ret->getMessage()); 
    } 

    //get num messages and mailbox size 
    echo $pop3->numMsg() . ' messages in mailbox, ' . $pop3->getSize() . ' bytes <br/>'; 

    //get the headers for the most recent message 
    if($pop3->numMsg() > 0){ 
     $msgData = $pop3->getParsedHeaders($pop3->numMsg()); 
     echo 'The most recent email in your inbox is from ' .htmlentities($msgData['From']) . ' with the subject \'' . htmlentities($msgData['Subject']) . '\''; 
    } 

    //disconnect from the provider 
    $pop3->disconnect(); 

可能有人給我一些提示,或代碼,將修改此列出郵箱中的所有郵件? 謝謝!

+0

@YourCommonSense喜歡什麼?我們不應該在這裏聊天,所以跟我在這裏http://chat.stackoverflow.com/rooms/31188/php-help-for-new-programmers – pattyd

+0

@YourCommonSense就像我說:你不能在這裏聊天。使用我發送的鏈接....我現在將您的聊天評論標記爲主持人評論。 – pattyd

回答

1

只顯示所有電子郵件只是循環播放。

<?php 
//get num messages and mailbox size 
$messageCount = $pop3->numMsg(); 
echo $messageCount . ' messages in mailbox, ' . $pop3->getSize() . ' bytes <br/>'; 

//get the headers for all messages 
// NOTE: need to be careful not to overflow the memory (Only grab the latest 500, etc) 
for ($i = $messageCount; $i > 0; $i--) { 
    $msgData = $pop3->getParsedHeaders($i); 
    echo "Message: $i \n"; 
    echo " From: " . htmlentities($msgData['From']) . "\n"; 
    echo "Subject: " . htmlentities($msgData['Subject']) . "\n"; 
    echo "-------------------------------------------------\n"; 
} 
+0

好的很酷。是否可以打印與主題的消息? – pattyd