PHP 8.4.2 Released!

imap_list

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

imap_listLiefert die Liste der Postfächer

Beschreibung

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

Gibt die Liste aller Pöstfä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 mit den Namen der gefundenen Postfächer zurück oder false im Fehlerfall.

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_list()-Beispiel

<?php
$mbox
= imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
or die(
"Kann keine Verbindung aufbauen: " . imap_last_error());

$list = imap_list($mbox, "{imap.example.org}", "*");
if (
is_array($list)) {
foreach (
$list as $val) {
echo
imap_utf7_decode($val) . "\n";
}
} else {
echo
"imap_list schlug fehl: " . imap_last_error() . "\n";
}

imap_close($mbox);
?>

Siehe auch

add a note

User Contributed Notes 2 notes

up
5
Anonymous
5 years ago
use
echo mb_convert_encoding($val, "utf-8", "UTF7-IMAP");
for cyrrilic folder names
up
2
c6h1206free at gmail dot com
16 years ago
imap_list returns a simple array of strings that look just like the $ref parameter one needs to specify:

<?php

$srv
= '{imap.example.com}';

$conn = imap_open($srv, 'me', 'mypass');

$boxes = imap_list($conn, $srv, '*');

print_r($boxes);
imap_close($conn);
?>

Output:

<pre>
Array
(
[0] => {imap.example.com}Calendar
[1] => {imap.example.com}Contacts
[2] => {imap.example.com}Deleted Items
[3] => {imap.example.com}Drafts
[4] => {imap.example.com}Journal
[5] => {imap.example.com}Junk E-mail
[6] => {imap.example.com}Notes
[7] => {imap.example.com}Outbox
[8] => {imap.example.com}RSS Feeds
[9] => {imap.example.com}Sent Items
[10] => {imap.example.com}Tasks
)
</pre>

These directly fill in the $ref argument for every function that takes one.
To Top