# imap_getmailboxes

(PHP 4, PHP 5, PHP 7, PHP 8)

imap_getmailboxes — Liefert detaillierte Informationen zu allen Postfächern

### Beschreibung

imap_getmailboxes(IMAP\Connection `$imap`, string `$reference`, string `$pattern`): array|false

Gibt Informationen über die Postfächer zurück.

### Parameter-Liste

`imap`

  Eine IMAP\Connection-Instanz.

`reference`

  Die Angabe des Servers in der in imap_open() beschriebenen Form.

  Warnung

  Die Übergabe von nicht vertrauenswürdigen Daten an diesen Parameter ist unsicher,falls imap.enable_insecure_rsh nicht deaktiviert ist.

`pattern`

  Gibt an, wo in der Postfach-Hierarchie mit der Suche begonnen werden soll.

  Es gibt zwei Sonderzeichen, die man als Teil von `pattern` verwenden kann: '`*`' und '`%`'. '`*`' heißt, dass alle Postfächer zurückgegeben werden sollen. Wenn man `pattern` als '`*`' übergibt, so erhält man eine Liste der vollständigen Postfach-Hierarchie. '`%`' heißt, dass nur die aktuelle Stufe zurückgegeben wird. '`%`' als Wert des Parameters `pattern` gibt nur die Postfächer der obersten Ebene zurück. '`~/mail/%`' unter `UW_IMAPD` gibt alle Postfächer des Verzeichnisses ~/mail zurück, aber keine aus dessen Unterverzeichnissen.

### Rückgabewerte

Gibt ein Array zurück, das Objekte mit Postfachbeschreibungen enthält. Jedes Objekt verfügt über die Attribute `name` für den Namen des Postfachs, `delimiter` für das gültige Hierachietrennzeichen innerhalb des Hierachieabschnitts, in dem sich das Postfach befindet, und den Eigenschaften des Postfachs in `attributes`. Die Eigenschaften setzen sich als Bitmaske aus folgenden möglichen Werten zusammen:

- `LATT_NOINFERIORS` - Dieses Postfach enthält keine Unterpostfächer und kann auch keine enthalten. Der Aufruf von imap_createmailbox() wird für dieses Postfach fehlschlagen.

- `LATT_NOSELECT` - Dieses Postfach enthält nur Unterpostfächer aber keine Nachrichten; es kann nicht geöffnet werden.

- `LATT_MARKED` - Dieses Postfach ist markiert. Das bedeutet, dass es neue Nachrichten enthalten kann, seitdem es zuletzt geprüft wurde. Wird nicht von allen IMAP-Servern unterstützt.

- `LATT_UNMARKED` - Dieses Postfach ist nicht markiert, d. h. es enthält keine neuen Nachrichten. Wenn entweder `MARKED` oder `UNMARKED` vorhanden ist, kann man davon ausgehen, das der IMAP-Server dieses Feature für dieses Postfach unterstützt.

- `LATT_REFERRAL` - Dieses Postfach bezieht sich auf eine Remote-Mailbox.

- `LATT_HASCHILDREN` - Dieses Postfach enthält auswählbare Unterpostfächer.

- `LATT_HASNOCHILDREN` - Dieses Postfach enthält keine auswählbaren Unterpostfächer.

Diese Funktion gibt bei einem Fehler `false` zurück.

### Changelog

Version | Beschreibung
--- | ---
8.1.0 | Der Parameter `imap` erwartet nun eine IMAP\Connection-Instanz; vorher wurde eine gültige `imap`-Ressource erwartet.

### Beispiele

Beispiel #1 imap_getmailboxes()-Beispiel

`<?php
$mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
or die("Kann keine Verbindung aufbauen: " . 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 schlug fehl: " . imap_last_error() . "\n";
}
imap_close($mbox);
?>`

### Siehe auch

- imap_getsubscribed() - Liefert die Liste aller abonnierten Postfächer

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open