我正在編寫一個PHP腳本來連接到Exchange服務器並從郵箱中讀取郵件。我有它連接到我的收件箱就好了。我現在要做的是讓PHP連接到我可以訪問的其他郵箱(我們稱之爲「測試郵箱」)。獲取Exchange郵箱的名稱以編程方式連接到它
我試過這段代碼:
imap_open('{mail.domain.com:143}Test Mailbox', 'myusername', 'mypassword');
但它表示該郵箱不存在。如何獲取郵箱列表或獲取郵箱路徑?
我正在編寫一個PHP腳本來連接到Exchange服務器並從郵箱中讀取郵件。我有它連接到我的收件箱就好了。我現在要做的是讓PHP連接到我可以訪問的其他郵箱(我們稱之爲「測試郵箱」)。獲取Exchange郵箱的名稱以編程方式連接到它
我試過這段代碼:
imap_open('{mail.domain.com:143}Test Mailbox', 'myusername', 'mypassword');
但它表示該郵箱不存在。如何獲取郵箱列表或獲取郵箱路徑?
你真的應該想想有Exchange Web服務(EWS)這樣做。這將使你通過SOAP與IMAP獲得你想要的數據,而IMAP不會產生大量的東西。
您可以使用imap_getmailboxes()
獲取郵箱列表。至於選擇郵箱,請嘗試不使用領先的/
。
從php.net:
$mbox = imap_open("{mail.domain.com:143}", "username", "password", OP_HALFOPEN)
or die("can't connect: " . imap_last_error());
$list = imap_getmailboxes($mbox, "{mail.domain.com:143}", "*");
if (is_array($list)) {
foreach ($list as $key => $val) {
echo "($key) ";
echo imap_utf7_decode($val->name) . ",";
echo "'" . $val->delimiter . "',";
echo $val->attributes . "<br />\n";
}
} else {
echo "imap_getmailboxes failed: " . imap_last_error() . "\n";
}
imap_close($mbox);