(PHP 4, PHP 5, PHP 7, PHP 8)
imap_getmailboxes — Read the list of mailboxes, returning detailed information on each one
Gets information on the mailboxes.
imap
IMAP\Connection 实例。
reference
reference
should normally be just the server
specification as described in imap_open()
Passing untrusted data to this parameter is insecure, unless imap.enable_insecure_rsh is disabled.
pattern
指定在邮箱层级的何处开始查找。
在组成 pattern
的字符中可使用两个特殊字符:
'*
' 和 '%
'。
'*
' 是指返回所有邮箱目录. 如果将 '*
' 作为
pattern
参数时, 则会返回整个邮箱层级结构。
'%
' 是指只返回当前级次。
'%
' 作为 pattern
参数则只会返回顶层邮箱;
'~/mail/%
' 用于 UW_IMAPD
则会返回名为 ~/mail 的目录, 但不包含其子目录。
Returns an array of objects containing mailbox information. Each
object has the attributes name
, specifying
the full name of the mailbox; delimiter
,
which is the hierarchy delimiter for the part of the hierarchy
this mailbox is in; and
attributes
. Attributes
is a bitmask that can be tested against:
LATT_NOINFERIORS
- This mailbox not contains, and may not contain any
"children" (there are no mailboxes below this one). Calling
imap_createmailbox() will not work on this mailbox.
LATT_NOSELECT
- This is only a container,
not a mailbox - you cannot open it.
LATT_MARKED
- This mailbox is marked. This means that it may
contain new messages since the last time it was checked. Not provided by all IMAP
servers.
LATT_UNMARKED
- This mailbox is not marked, does not contain new
messages. If either MARKED
or UNMARKED
is
provided, you can assume the IMAP server supports this feature for this mailbox.
LATT_REFERRAL
- This container has a referral to a remote mailbox.
LATT_HASCHILDREN
- This mailbox has selectable inferiors.
LATT_HASNOCHILDREN
- This mailbox has no selectable inferiors.
false
on failure.
版本 | 说明 |
---|---|
8.1.0 |
现在 imap 参数接受 IMAP\Connection
实例,之前接受有效的 imap resource。
|
示例 #1 imap_getmailboxes() example
<?php
$mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
or die("can't connect: " . imap_last_error());
$list = imap_getmailboxes($mbox, "{imap.example.org}", "*");
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);
?>