(PHP 4, PHP 5, PHP 7)
imap_getmailboxes — Read the list of mailboxes, returning detailed information on each one
$imap_stream
, string $ref
, string $pattern
)Gets information on the mailboxes.
imap_stream
Поток IMAP, полученный из imap_open().
ref
ref
should normally be just the server
specification as described in imap_open()
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
выставлен - можете считать, что сервер поддержимвает
этот функционал.
Пример #1 Пример использования imap_getmailboxes()
<?php
$mbox = imap_open("{imap.example.org}", "username", "password", OP_HALFOPEN)
or die("can't connect: " . 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 failed: " . imap_last_error() . "\n";
}
imap_close($mbox);
?>