|
(PHP 3>= 3.0.12, PHP 4)
imap_getmailboxes -
читает список mailbox'ов, возвращает детальную информацию о каждом.
Описание
array imap_getmailboxes (int imap_stream, string ref, string pattern)
Возвращает массив объектов, содержащих информацию о mailbox'ах. Каждый
объект имеет атрибуты:
name
, специфицирующий полное имя mailbox'а;
delimiter
,
ограничитель иерархии для той части её, в которой находится данный mailbox; и
attributes
.
Attributes
это битовая маска, проверяемая относительно:
-
LATT_NOINFERIORS - этот mailbox не имеет "потомков/children" (ниже него нет mailbox'ов).
-
LATT_NOSELECT - это лишь контейнер, а не mailbox - вы не можете открыть его.
-
LATT_MARKED - этот mailbox помечен. Используется только в UW-IMAPD.
-
LATT_UNMARKED - этот mailbox не помечен. Используется только в UW-IMAPD.
Имена mailbox'ов, содржащие интернациональные символы за пределами
печатаемого диапазона ASCII, будут кодированы и могут быть декодированы с помощью
imap_utf7_decode()
.
ref
нормально должен быть просто спецификацией сервера, как описано в
imap_open()
, а
pattern
специфицирует, где в иерархии mailbox'ов начинать поиск. Если вам нужны все
mailbox'ы, передайте '*' для
pattern
.
Есть два специальных символа, которые вы можете передавать как часть
pattern
: '*' и '%'. '*' означает: вернуть все mailbox'ы. Если вы передаёте
pattern
как '*', вы получите список всей иерархии mailbox'ов.
'%' означает: возвратить только текущий уровень. '%' как параметр
pattern
возвратит только mailbox'ы верхнего уровня; '~/mail/%' в UW_IMAPD will
возвратит каждый mailbox в директории ~/mail, но не в подкаталогах данного каталога/директории.
Пример 1. imap_getmailboxes()
$mbox = imap_open("{your.imap.host}","username","password",OP_HALFOPEN)
or die("can't connect: ".imap_last_error());
$list = imap_getmailboxes($mbox,"{your.imap.host}","*");
if(is_array($list)) {
reset($list);
while (list($key, $val) = each($list))
{
print "($key) ";
print imap_utf7_decode($val->name).",";
print "'".$val->delimiter."',";
print $val->attributes."<br>\n";
}
} else
print "imap_getmailboxes failed: ".imap_last_error()."\n";
imap_close($mbox);
|
|
См. также
imap_getsubscribed()
.
|
|