Read the list of mailboxes

# imap_list

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_list — Read the list of mailboxes

### Description

imap_list(IMAP\Connection `$imap`, string `$reference`, string `$pattern`): array|false

Read the list of mailboxes.

### Parameters

`imap`

  An IMAP\Connection instance.

`reference`

  `reference` should normally be just the server specification as described in imap_open().

  Warning

  Passing 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 pass `pattern` as '`*`', you will get a list of the entire mailbox hierarchy. '`%`' means to return the current level only. '`%`' as the `pattern` parameter will return only the top level mailboxes; '`~/mail/%`' on `UW_IMAPD` will return every mailbox in the ~/mail directory, but none in subfolders of that directory.

### Return Values

Returns an array containing the names of the mailboxes or `false` in case of failure.

### Changelog

Version | Description
--- | ---
8.1.0 | The `imap` parameter expects an IMAP\Connection instance now; previously, a valid `imap` resource was expected.

### Examples

Example #1 imap_list() example

`<?php
$mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
or die("can't connect: " . imap_last_error());
$list = imap_list($mbox, "{imap.example.org}", "*");
if (is_array($list)) {
foreach ($list as $val) {
echo imap_utf7_decode($val) . "\n";
}
} else {
echo "imap_list failed: " . imap_last_error() . "\n";
}
imap_close($mbox);
?>`

### See Also

- imap_getmailboxes() - Read the list of mailboxes, returning detailed information on each one
- imap_lsub() - List all the subscribed mailboxes

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open