我正在编写一个 PHP 脚本来连接到 Exchange 服务器并从邮箱中读取消息。我把它连接到我的收件箱就好了。我现在要做的是让 PHP 连接到我可以访问的另一个邮箱(我们称之为“测试邮箱”)。
我试过这段代码:
imap_open( '{mail.domain.com:143}Test Mailbox', 'myusername', 'mypassword' );
但它说邮箱不存在。如何获取邮箱列表或获取邮箱路径?
我正在编写一个 PHP 脚本来连接到 Exchange 服务器并从邮箱中读取消息。我把它连接到我的收件箱就好了。我现在要做的是让 PHP 连接到我可以访问的另一个邮箱(我们称之为“测试邮箱”)。
我试过这段代码:
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);