# imap_getmailboxes

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

imap_getmailboxes — Liste les boîtes aux lettres, et retourne les détails de chacune

### Description

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

Liste les boîtes aux lettres.

### Liste de paramètres

`imap`

  Une instance de IMAP\Connection.

`reference`

  `reference` ne devrait être que le serveur sous la forme décrite dans imap_open()

  Avertissement

  Passer des données qui ne sont pas digne de confiance à ce paramètre est dangereux, sauf si, imap.enable_insecure_rsh est désactivé.

`pattern`

  Spécifie la position dans la hiérarchie des boîtes aux lettres, où il faut commencer à chercher.

  Il y a deux caractères spéciaux que vous pouvez utiliser dans `pattern` : '`*`' et '`%`'. '`*`' signifie : toutes les boîtes aux lettres. Si vous passez `pattern` comme '`*`', vous obtiendrez la liste complète des boîtes aux lettres de la hiérarchie. '`%`' signifie qu'on ne s'intéresse qu'au niveau courant. '`%`' passé à `pattern` ne retournera que les boîtes aux lettres de niveau supérieur; '`~/mail/%`' sous `UW_IMAPD` retournera toutes les boîtes aux lettres du dossier ~/mail directory, mais pas leurs enfants.

### Valeurs de retour

Retourne un tableau d'objets contenant les informations sur les boîtes aux lettres. Chaque objet possède un attribut de `name`, qui contient le nom complet de la boîte aux lettres, `delimiter` qui est le délimiteur hiérarchique et `attributes`. `attributes` est un masque de bits, qui contient :

- `LATT_NOINFERIORS` - Cette boîte aux lettres n'a pas d'"enfants" (il n'y a plus de boîtes aux lettres en dessous de celle-ci) et ne peut en contenir aucun. Un appel à la fonction imap_createmailbox() ne fonctionnera pas sur cette boîte.

- `LATT_NOSELECT` - Ceci est juste un container, pas une boîte aux lettres (vous ne pouvez pas l'ouvrir).

- `LATT_MARKED` - Cette boîte aux lettres est marquée. Ceci signifie qu'elle peut contenir des nouveaux messages depuis la dernière fois qu'elle a été vérifiée. Ce marqueur n'est pas fourni avec tous les serveurs IMAP.

- `LATT_UNMARKED` - Cette boîte aux lettres n'est pas marquée et ne contient pas de nouveaux messages. Si `MARKED` ou `UNMARKED` est fourni, vous pouvez supposer que le serveur IMAP supporte cette fonctionnalité pour cette boîte aux lettres.

- `LATT_REFERRAL` - Ce conteneur a une référence vers une boîte aux lettres distante.

- `LATT_HASCHILDREN` - Cette boîte aux lettres a des inférieurs sélectionnables.

- `LATT_HASNOCHILDREN` - Cette boîte aux lettres n'a pas d'inférieurs sélectionnables.

Retourne `false` en cas d'échec.

### Historique

Version | Description
--- | ---
8.1.0 | La paramètre `imap` attend désormais une instance de IMAP\Connection ; auparavant, une resource `imap` était attendue.

### Exemples

Exemple #1 Exemple avec imap_getmailboxes()

`<?php
$mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
or die("Connexion impossible : " . 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 a échoué : " . imap_last_error() . "\n";
}
imap_close($mbox);
?>`

### Voir aussi

- imap_getsubscribed() - Liste toutes les boîtes aux lettres souscrites