(PHP 4, PHP 5, PHP 7)
imap_getmailboxes — Liefert detailierte Informationen zu allen verfügbaren Postfächern
$imap_stream
, string $ref
, string $pattern
) : arrayLiefert Postfachinformationen.
imap_stream
Eine von imap_open() zurückgegebene IMAP-Verbindung.
ref
Spezifikation des gewünschten Servers wie in imap_open() beschrieben.
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.
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.
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);
?>