imap_getmailboxes

(PHP 4, PHP 5, PHP 7)

imap_getmailboxesLiefert detailierte Informationen zu allen verfügbaren Postfächern

Beschreibung

imap_getmailboxes ( resource $imap_stream , string $ref , string $pattern ) : array

Liefert Postfachinformationen.

Parameter-Liste

imap_stream

Eine von imap_open() zurückgegebene IMAP-Verbindung.

ref

Spezifikation des gewünschten Servers wie in imap_open() beschrieben.

Warnung

Passing untrusted data to this parameter is insecure, unless imap.enable_insecure_rsh is disabled.

pattern

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

Es gibt zwei Sonderzeichen, die man als Teil des pattern verwenden kann: '*' und '%'. '*' heißt, dass alle Mailboxen zurückgegeben werden sollen. Wenn man pattern als '*' übergibt, so erhält man eine Liste der vollständigen Mailboxhierarchie. '%' heißt, dass nur die aktuelle Stufe zurückgegeben wird. '%' als Wert des pattern Parameters wird nur die Mailboxen auf höchster Stufe zurückgeben. '~/mail/%' unter UW_IMAPD wird jede Mailbox innerhalb des ~/mail-Verzeichnisses zurückgeben, aber keine innerhalb von dessen Unterverzeichnissen.

Rückgabewerte

Liefert ein Array, 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 Eigenschaften des Postfachs in attributes. Die Eigenschaften setzen sich als Bitmaske aus folgenden möglichen Werten zusammen:

  • LATT_NOINFERIORS - innerhalb dieses Postfachs existieren keine weiteren Unterpostfächer, und dürfen auch nicht. 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 - Das Postfach bezieht sich auf eine Remote-Mailbox.

  • LATT_HASCHILDREN - Das Postfach enthält auswählbare Unterpostfächer.

  • LATT_HASNOCHILDREN - Das Postfach enthält keine auswählbaren Unterpostfächer.

Beispiele

Beispiel #1 imap_getmailboxes() Beispiel

<?php
$mbox 
imap_open("{imap.example.org}""username""password"OP_HALFOPEN)
      or die(
"kann nicht verbinden: " 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