imap_getmailboxes
(PHP 4, PHP 5, PHP 7, PHP 8)
imap_getmailboxes — Read the list of mailboxes, returning detailed information on each one
Description
Gets information on the mailboxes.
Parameters
-
imap -
An IMAP\Connection instance.
-
reference -
referenceshould normally be just the server specification as described in imap_open()WarningPassing untrusted data to this parameter is insecure, unless imap.enable_insecure_rsh is disabled.
-
pattern -
Specifies where in the mailbox hierarchy to start searching.
There are two special characters you can pass as part of the
pattern: '*' and '%'. '*' means to return all mailboxes. If you passpatternas '*', you will get a list of the entire mailbox hierarchy. '%' means to return the current level only. '%' as thepatternparameter will return only the top level mailboxes; '~/mail/%' onUW_IMAPDwill return every mailbox in the ~/mail directory, but none in subfolders of that directory.
Return Values
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 eitherMARKEDorUNMARKEDis 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.
Changelog
| Version | Description |
|---|---|
| 8.1.0 |
The imap parameter expects an IMAP\Connection
instance now; previously, a resource was expected.
|
Examples
Example #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);
?>

