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