PHP 8.6.0 Beta 1 is available for testing

imap_list

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

imap_listЧитает список почтовых ящиков

Описание

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

Читает список почтовых ящиков.

Список параметров

imap
Экземпляр класса IMAP\Connection .
reference

В reference, как правило, должна быть указана только спецификация сервера, как описано в imap_open() .

Внимание

Передача в этот параметр непроверенных данных небезопасна, если включили директиву imap.enable_insecure_rsh.

pattern
Определяет начало поиска в иерархии почтовых ящиков. Как часть параметра pattern перадают два специальных символа: '*' и '%'. Символ '*' означает возврат всех почтовых ящиков. Если передать параметр pattern как '*', возвращается полный список иерархии почтовых ящиков. Символ '%' означает возврат только текущего уровня. Символ '%' как значение параметра pattern вернёт почтовые ящики только верхнего уровня; с серверов UW_IMAPD значение '~/mail/%' вернёт почтовые ящики каталога ~/mail, но не подкаталогов этого каталога.

Возвращаемые значения

Возвращает массив с именами почтовых ящиков или false в случае неудачи.

Список изменений

Версия Описание
8.1.0 Параметр imap теперь принимает объект IMAP\Connection ; раньше параметр ждал ресурс (resource ) imap.

Примеры

Пример #1 Пример использования imap_list()

<?php
$mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
 or die("не удалось подключиться: " . 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 завершился с ошибкой: " . imap_last_error() . "\n";
}
imap_close($mbox);
?>

Смотрите также

  • imap_getmailboxes() - Читает список почтовых ящиков и возвращает подробную информацию о каждом из них
  • imap_lsub() - Получает список всех почтовых ящиков, на которые оформлена подписка

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

Примечания пользователей 2 notes

up
5
Anonymous
7 years ago
use 
echo mb_convert_encoding($val, "utf-8", "UTF7-IMAP");
for cyrrilic folder names
up
2
c6h1206free at gmail dot com
17 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.
+Добавить

AltStyle によって変換されたページ (->オリジナル) /