(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);
?>