imap_getmailboxes

(PHP 4, PHP 5)

imap_getmailboxesListe les boîtes aux lettres, et retourne les détails de chacune

Description

array imap_getmailboxes ( resource $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 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.

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

LoadingChargement en cours