object imap_bodystruct(resource imap, integer message, integer section)
Функция imap_bodystruct возвращает объект с описанием структуры раздела тела сообщения. Этот объект будет иметь следующие свойства: bytes, description, disposition, dparameters, encoding, id, ifdescription, ifdisposition, ifdparameters, ifid, ifparameters, ifsubtype, lines, parameters, subtype и type. Такие элементы, как ifsubtype, начинающиеся префиксом if, являются логическими, что свидетельствует о наличии подобным образом названных элементов.
Разное:Apache,IMAP,MnoGoSearch,OpenSSL
Листинг 19.2. Функция imap_body

<?php
// подключение к IMAP- серверу
$imap = imap_open("{example.com}INBOX", "leon", "secret"); if(!$imap)
{
print("Подключение к IMAP-серверу невозможно!");
}
//получить количество сообщений в INBOX $check = imap_check($imap); print("$check->Nmsgs сообщенш/Kbr^n"); for($n=1; $n <= $check->Nmsgs; $n++)
{
$body = imap_body($imap, $n, FT_INTERNAL | FT_PEEK); print("<hr>n$bodyn");
}
// закрыть соединение imap_close($imap);

object imap_check(resource imap)
Функция imap_check (листинг 19.3) возвращает информацию о текущем почтовом ящике в виде объекта. В табл. 19.3 приводятся свойства объекта. Если соединение было разорвано по тайм-ауту, возвращается значение FALSE.
Разное:Apache,IMAP,MnoGoSearch,OpenSSL
Листинг 19.3. Функция imap_check

<?php
// подключение к IMAP- серверу
$imap = imap_open("{example.com}INBOX", "leon", "secret"); if(!$imap)
{
print("Подключение к IMAP-серверу невозможно!");
}
//получить количество сообщений в INBOX $check = imap_check($imap); print("$check->Nmsgs сообщенш/Kbr^n"); print("$check->Recent новых сообщений <br>n"); print("Самое последнее сообщение: $check->Date<br>n"); for($n=1; $n <= $check->Nmsgs; $n++)
{
$header = imap_headerinfo($imap, $n); $body = imap_body($imap, $n, FT_INTERNAL | FT_PEEK); print("<hr>n"); $to = array(); foreach($header->to as $t)
{
$to[] = "$t->personal <$t->mailbox@$t->host>";
}
$to = implode(",", $to);
$from = array(); foreach($header->from as $f)
{
$from[] = "$f->personal <$f->mailbox@$f->host>";
}
$from = implode(",", $from); print(
"Date: $header->date<br>n" .
"To: " . htmlentities($to) . "<br>" .
"From: " . htmlentities($from) . "<br>n" . "Subject: $header->subject<br>n" . "<br>n" .
nl2br(htmlentities($body)) . "<br>n");
}
// закрыть соединение imap_close($imap);

string imap_clearflag_full(resource imap, string sequence, string flag, integer options)
Функция imap_clearflag_full (листинг 19.4) удаляет флаг в последовательности сообщений. В аргументе options задается значение ST_UID, что означает, что аргумент sequence содержит идентификаторы пользователей вместо номеров сообщений. 
Листинг 19.4. Функция imap_clearflag_full

<?php
//подключениие к IMAP- серверу
$imap = imap_open("{news.example.com/nntp:119}alt.fan.devo",
"leon@example.com", "secret"); if(!$imap)
{
print(" Подключение к NNTP- серверу невозможно!");
}
// пометить первые три сообщения как непрочитанные imap_clearflag_full($imap, "1,2,3", "\Seen"); // закрыть соединение imap_close($imap);

boolean imap_close(resource imap, integer flags)
Функция imap_close закрывает соединение с почтовым ящиком. Аргумент imap является целым числом, возвращенным функцией imap_open. Необязательный аргумент flags может иметь значение CL_EXPUNGE, что приводит к удалению всех помеченных на удаление сообщений.
boolean imap_createmailbox(resource imap, string mailbox)
Функция imap_createmailbox (листинг 19.5) предназначена для создания почтового ящика.
boolean imap_delete(resource imap, integer message)
Функция imap_delete (листинг 19.6) помечает сообщение на удаление. Функция imap_expunge предназначена для полного удаления сообщения. В противном случае для удаления сообщений при вызове функции imap_close можно использовать значение флага CL_EXPUNGE.

Листинг 19.5. Функции imap_createmailbox, imapdeletemailbox

<?php
//подключениие к IMAP- серверу
$imap = imap_open("{mail.example.com}INBOX", "leon",
"secret");
if(!$imap)
{
print("Подключение к IMAP-серверу невозможно!<br>"); foreach(imap_errors() as $e)
{
print_r("$e<br>");
}
exit();
}
// создать почтовый ящик imap_createmailbox($imap, "PHP List"); 
// удалить почтовый ящик imap_deletemailbox($imap, "PHP List"); // закрыть соединение imap_close($imap);

boolean imap_deletemailbox(resource imap, string mailbox)
Функция imap_deletemailbox удаляет указанный почтовый ящик.