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() - Список всех почтовых ящиков, на которые вы подписаны