(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 вернёт почтовые ящики
только верхнего уровня; с серверов UW_IMAPD значение '~/mail/%'
вернёт почтовые ящики каталога ~/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);
?>