imap_getmailboxes

(PHP 4, PHP 5, PHP 7)

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

Описание

imap_getmailboxes ( resource $imap_stream , string $ref , string $pattern ) : array

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

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

imap_stream

Поток IMAP, полученный из imap_open().

ref

ref обычно должен быть только специфицикацией сервера, как описано в 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).

Примеры

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