PHP Handbuch
Zurück |  | Nach vorne

# imap_getmailboxes

(PHP 3>= 3.0.12, PHP 4 , PHP 5)

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_getacl | Nach oben | imap_getsubscribed