(PHP 4, PHP 5, PHP 7, PHP 8)
imap_getmailboxes — Читает список почтовых ящиков и возвращает подробную информацию о каждом из них
Функция получает информацию о почтовых ящиках.
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);
?>