imap_getmailboxes

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

imap_getmailboxesЧитает список почтовых ящиков и возвращает подробную информацию о каждом из них

Описание

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

Функция получает информацию о почтовых ящиках.

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

imap

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

reference

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

Внимание

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

pattern

Определяет начало поиска в иерархии почтовых ящиков.

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

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

Функция возвращает массив объектов, которые содержат информацию о почтовых ящиках. Каждый объект содержит свойства: name, которое указывает полное имя ящика; delimiter, которое содержит разделитель для той части иерархии, в которой содержится ящик; и attributes. Параметр Attributes — битовая маска из следующих констант:

  • LATT_NOINFERIORS — Ящик не содержит и не может содержать «потомков», то есть содержать вложенные ящики. Вызов функции imap_createmailbox() не будет работать для этого ящика.

  • LATT_NOSELECT — Это только контейнер, а не почтовый ящик. Его нельзя открыть.

  • LATT_MARKED — Этот ящик помечен. Означает, что в ящике могут быть новые письма, которые появились с момента последней проверки. Работает не со всеми серверами IMAP.

  • LATT_UNMARKED — Этот ящик не помечен, то есть в ящике нет новых писем. Если выставлен флаг MARKED или UNMARKED — считается, что сервер поддерживает этот функционал.

  • LATT_REFERRAL — Этот контейнер имеет направления (referral) на удалённый почтовый ящик.

  • LATT_HASCHILDREN — У этого почтового ящика есть выбираемые подчинённые (inferiors).

  • LATT_HASNOCHILDREN — У этого почтового ящика нет выбираемых подчинённых (inferiors).

Функция возвращает false, если возникла ошибка.

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

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

Примеры

Пример #1 Пример использования функции imap_getmailboxes()

<?php

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

imap_close($mbox);

?>

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

  • imap_getsubscribed() - Получает список всех почтовых ящиков, на которые оформлена подписка
To Top