PHP Handbuch
Zurück |  | Nach vorne

# imap_getmailboxes

(3.0.12 - 3.0.18 only, PHP 4 >= 4.0.0)

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:

- LATT_NOINFERIORS - es existieren keine weiteren Postfächer unterhalb dieses Postfachs

- LATT_NOSELECT - Dieses "Postfach" ist nur ein Behälter für weitere Postfächer.

  Es kann selbst keine Nachrichten enthalten und somit auch nicht geöffnet werden.

- LATT_MARKED - Dieses Postfach wurde markiert (nur bei UW-IMAPD).

- LATT_UNMARKED - Dieses Postfach wurde nicht markiert (nur bei UW-IMAPD).

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:

- '*' - entspricht beliebig vielen Zeichen (incl. des Trennzeichens zw. Postfach-Namen)

- '%' - entspricht beliebig vielen Zeichen innerhalb eines Postfach-Namens

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);

Zurück | Zum Anfang | Nach vorne
imap_listmailbox | Nach oben | imap_listsubscribed