2012-04-16 61 views
0

我正在编写一个PHP脚本来连接到Exchange服务器并从邮箱中读取邮件。我有它连接到我的收件箱就好了。我现在要做的是让PHP连接到我可以访问的其他邮箱(我们称之为“测试邮箱”)。获取Exchange邮箱的名称以编程方式连接到它

我试过这段代码:

imap_open('{mail.domain.com:143}Test Mailbox', 'myusername', 'mypassword'); 

但它表示该邮箱不存在。如何获取邮箱列表或获取邮箱路径?

回答

1

你真的应该想想有Exchange Web服务(EWS)这样做。这将使你通过SOAP与IMAP获得你想要的数据,而IMAP不会产生大量的东西。

0

您可以使用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); 
相关问题