imap_getmailboxes

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

imap_getmailboxesLiefert 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

VersionBeschreibung
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

To Top