imap_getmailboxes
(PHP 4, PHP 5)
imap_getmailboxes — Liste les boîtes aux lettres, et retourne les détails de chacune
Description
$imap_stream
, string $ref
, string $pattern
)Liste les boîtes aux lettres.
Liste de paramètres
-
imap_stream
-
Un flux IMAP retourné par la fonction imap_open().
-
ref
-
ref
ne devrait être que le serveur sous la forme décrite dans imap_open() -
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 passezpattern
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. SiMARKED
ouUNMARKED
est fourni, vous pouvez supposer que le serveur IMAP supporte cette fonctionnalité pour cette boîte aux lettres.
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); ?>