imap_getmailboxes

(PHP 3>= 3.0.12, PHP 4 )

imap_getmailboxes --  Liefert detailierte Informationen über eine Auswahl von Postfächern

Beschreibung

array imap_getmailboxes ( int imap_stream, string ref, string pat)

imap_getmailboxes() liefert ein Array zurück, das für jedes gefundene Postfach ein Objekt mit de Attributen name, delimiter und attributes enthält. name enthält dabei den vollständigen Pfadnamen des Postfachs, delimiter das verwendete Trennzeichen zwischen Postfach-Ebenen, und attributes besteht aus einer Bitmaske, die einzelne Eigenschaften des Postfachs beschreibt:

Namen von Postfächern, die Zeichen außerhalb des druckbaren ASCII-Bereiches enthalten, können mit Hilfe der Funktion imap_utf7_decode() dekodiert werden.

ref sollte normalerweise nur die Spezifikation des Servers in der in imap_open() beschriebenen Form enthalten. Über pat kann ein Startpunkt innerhalb der Postfach-Hierachie vorgegeben werden. Wünschen Sie die Ausgabe aller Postfächer, so übergeben Sie als pat '*'.

Die Zeichen '*' und '%' haben innerhalb von pattern eine besondere Bedeutung:

So liefert "*" alle verfügbaren Postfächer auf dem Server, "INBOX/*" dementsprechend alle persönlichen Postfächer des aktuellen Benutzers. "%" dagegen liefert nur die Toplevel-Postfächer des Servers, "INBOX/%" dementsprechend nur die Toplevel-Postfächer des aktuellen Benutzers. Ein '%' am Ende von pattern entspricht zusätzlich auch allen Zeichenfolgen, die mit dem Trennzeichen beginnen.

Beispiel 1. imap_getmailboxes() Beispiel

$mbox = imap_open ("{your.imap.host}", "username", "password", OP_HALFOPEN)
    || die ("can't connect: " . imap_last_error());

$list = imap_getmailboxes ($mbox, "{your.imap.host}", "*");
if (is_array ($list)) {
    reset ($list);
    while (list( $key, $val) = each ($list)) {
        print "($key) ";
        print imap_utf7_decode ($val->name) . ",";
        print "'" . $val->delimiter . "',";
        print $val->attributes . "<br>\n";
    }
} else {
    print "imap_getmailboxes failed: " . imap_last_error() . "\n";
}
imap_close ($mbox);