boolean imap_setacl(resource imap, string mailbox, string user, string access)
Функция imap_setacl задает список управления доступом для заданного почтового ящика. Она работает с командой SETACL (IMAP) в соответствии с документом RFC 2086. Эту функцию может выполнить только администратор почты. Аргумент mailbox должен принимать вид user.leon. В аргумент access задается строка, содержащая комбинацию кодов (табл. 19.11).
Разное:Apache,IMAP,MnoGoSearch,OpenSSL
string imap_setflag_full(resource imap, string sequence, string flag, string options)
Функция imap_setflag_full устанавливает флаг на последовательность сообщений. Необязательный аргумент options может иметь значение ST_UID для того, чтобы указать, что вместо номеров сообщений в аргументе sequence задаются идентификаторы пользователей.
boolean imap_set_quota(resource imap, string root, integer limit)
Функция imap_set_quota задает квоту для заданной учетной записи. Эту функцию может выполнять только почтовый администратор. Аргумент mailbox имеет вид user.leon.
array imap_sort(resource imap, integer criteria, integer reverse, integer options, string search)
Функция imap_sort предназначена для получения отсортированного списка номеров сообщений на основании критерия сортировки (аргумент criteria). Аргумент criteria должен быть представлен одной из констант, приведенных в табл. 19.12. Если аргумент reverse имеет значение, равное 1, порядок сортировки будет обратным. Аргумент options является битовым полем, которое может иметь значение SE_UID, указывая, какие идентификаторы пользователей используются, или значение SE_NOPREFETCH и отменять тем самым предварительную выборку. С помощью аргумента search можно задавать те же критерии поиска, которые используются функцией imap_search.
Разное:Apache,IMAP,MnoGoSearch,OpenSSL
object imap_status(resource imap, string mailbox, integer options)
Функция imap_status возвращает объект со свойствами, описывающими состояние почтового ящика. Единственным гарантированным свойством является flags, которое несет в себе информацию о существовании других свойств. Генерируемые свойства выбираются с помощью аргумента options. Константы, которые могут быть заданы аргументом options, приведены в табл. 19.13.
Разное:Apache,IMAP,MnoGoSearch,OpenSSL
boolean imap_subscribe(resource imap, string mailbox)
Функция imap_subscribe предназначена для подписки на почтовый ящик.
array imap_thread(resource imap, integer options)
Функция imap_thread (листинг 19.11) возвращает список сообщений для открытого почтового ящика. На почтовом сервере она использует команду THREAD протокола IMAP и алгоритм REFERENCES. Необязательный аргумент options может задавать те же флаги поиска, которые используются функцией imap_search. Возвращаемый массив является одномерным и представляет дерево потоков. Все элементы массива используют ключ в формате node.property, где node - это количество узлов в дереве, а property представляет собой одну из трех строк: num, next или branch. Свойство num представляет собой номер сообщения, необходимый для выборки заголовков или тел сообщений. Свойство next является количеством узлов в следующем сообщении в строке. Нулем отмечается последнее сообщение в потоке. Свойство branch соответствует концу ветви, и следующий узел уже принадлежит верхнему уровню. Если значение свойства branch равно нулю, поддерево продолжается. Ненулевое значение свойства branch указывает на следующее сообщение в списке, с которого начинается новый поток.

| Листинг 19.11. Функция imap_thread_
<?php
//подключиться к IMAP-серверу $imap = imap_open(
"{news.example.com:119/nntp}alt.fan.henry-rollins",
"leon@example.com", "secret"); // получить потоки $thread = imap_thread($imap); foreach($thread as $id=>$val)
{
list($node, $property) = explode(".", $id); if($property == 'num') 
{
$header = imap_headerinfo($imap, $val); print("<ul>n" . "<li>" .
$header->Subject .
" by " . htmlentities($header->fromaddress) .
"</li>n");
}
elseif($property == 'branch')
{
print "</ul>n";
}
}