2011-07-26 41 views
0

右gentelmen,我一直在這個liturary整天現在我絕望了!這是情況。我使用免費虛擬主機,每當我嘗試使用imap_open時出現此消息:致命錯誤:調用未定義的函數imap_open()。我obiosly沒有任何訪問服務器設置,它會出現PHP沒有安裝imap模塊,即使我聯繫我的提供者(web000)與一個直接的問題:你是否支持imap功能?他回答是的。我確實給他發了一封包含錯誤信息的電子郵件,問他這是怎麼回事。還沒有收到他的消息。無論如何,無論如何,我可以訪問我的gmail內容,假設imap功能未定義,是否有任何庫可以下載以獲得此功能? 感謝您的時間夥計們。致命錯誤:調用未定義功能imap_open()

+2

你問他們是否支持** PHP IMAP **?他們可能會有一個IMAP郵件服務器,這就是科技意味着「是」的意思。你可以通過'phpinfo()'函數看到加載到php中的內容。 –

+0

即使他們確實有一個IMAP郵件服務器,但我不明白爲什麼我不能使用imap功能......我認爲他們是免費的用戶。感謝您的時間夥伴 – stringCode

+0

IMAP服務器!= PHP中的IMAP模塊。他們可能有服務器,可能沒有該模塊(因爲它是免費託管,如你所述)。 – jacek

回答

3

您可以使用Zend_Mail來讀取imap郵箱,而不需要imap擴展名,因爲它是IMAP協議的純php實現(它使用套接字連接到郵件服務器)。

還有就是你的主機上使用Zend框架沒有特殊的要求。只需下載該軟件包,將其解壓並上傳到您的主機上即可。我建議你the minimal edition可以運行下面的代碼。

爲了連接到Gmail帳戶,你可以使用此代碼開始,它會連接到您的帳戶,獲取存儲在服務器上,並輸出其主題的第一個消息,那麼你就可以展開它。

<? 
// Ensure Zend folder is on include_path 
set_include_path(implode(PATH_SEPARATOR, array(
    '/home/tachyon/public_html/zend/library/', 
    get_include_path(), 
))); 

// require the ZF autoloader file if you have it in your include path 
require_once 'Zend/Loader/Autoloader.php'; 
// if ZF is not in your path you can specify the full path 
// otherwise if it's in a subdir (most likely if you're on a web hosting) 
// you can do something like this 
//require_once dirname(__FILE__) . '/Zend/Loader/AutoLoader.php'; 

// laod the autoloader so you don't need to require any ZF file 
Zend_Loader_Autoloader::getInstance(); 

// connecting with Imap to gmail 
$mail = new Zend_Mail_Storage_Imap(
    array(
     'host'  => 'imap.gmail.com', 
     'port'  => '993', 
     'ssl'  => true, 
     'user'  => '[email protected]', 
     'password' => 'secret', 
    ) 
); 

// get the message object 
$message = $mail->getMessage(1); 
// output subject of message 
echo $message->subject . "\n"; 
// dump message headers 
Zend_Debug::dump($message->getHeaders()); 

我親自用我的Gmail帳戶測試過這個,所以它是有效代碼。

+0

感謝隊友,我試過爲好,因爲我說我一直在整整一天......你有什麼個人experiances與建立Zend的。我試圖這樣做。我的提供商在特里爾網站上聲明他們支持zend。我試圖使用它,但沒有運氣......你知道如何包含它嗎?我試圖下載它並將其複製到我的服務器上,但是需要編寫一個htaccess文件來支持它,我想呢?女巫,我嘗試和做... – stringCode

+0

我只是用一些代碼更新了我的答案,它應該在您的主機上工作。如果僅使用ZF類,則不需要更改.htaccess文件,如果要使用框架的MVC部分,則需要使用該文件。 – Fabio

+0

Mate謝謝你的所有幫助伴侶,我真的很感激它,但我仍然無法讓它運行。這裏是我得到的消息Warning:require_once(Zend/Loader.php)[function.require-once]:未能打開流:沒有這樣的文件或目錄在/ home/tachyon/public_html/zend/library/Zend/Loader/Autoloader.php上線24 Autoloader.php是真的存在和被調用,但問題是,然後autoloader.php來電與我忘了設定的路徑包括一個不正確的路徑 – stringCode

相關問題