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