(PHP 4, PHP 5)
imap_getmailboxes — Liste les boîtes aux lettres, et retourne les détails de chacune
$imap_stream
, string $ref
, string $pattern
)Liste les boîtes aux lettres.
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 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.
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.
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);
?>