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, являются логическими, что свидетельствует о наличии подобным образом названных элементов.
Листинг 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.
Листинг 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 удаляет указанный почтовый ящик.
ТОП-10 популярных
Для работы с вещественными числами в MySQL предусмотрено три типа данных - это типы FLOAT, DOUBLE, DECIMAL. Числовой тип FLOAT...
БОЛЬШЕ БОЛЬШИХ LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Больше больших LCD-мониторов
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
Процесс вытеснения с рынка мониторов с электронно-лучевой трубкой (CRT) продолжается. О смещении акцентов в пользу LCD-мониторов теперь заявляют даже те...
НОУТБУК с блестящим экраном
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Eсли выпустившая ноутбук фирма предлагает его в качестве «замены настольному ПК», то это должно подразумевать под собой нечто большее, чем...
Иди и пиши. TravelMate C100
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Планшетный компьютер платформы Tablet PC обязан в первую очередь быть легким, способным достаточно долго работать без подзарядки батарей. Эти требования...
Магнито-оптический дисковод DynaMO
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Cейчас, когда традиционные флоппи-дисководы на долгие годы замерли в своем развитии, поиск альтернативных носителей продолжается, и ситуация, казалось бы, разрешилась...
Компьютер для гурманов.«Эксимер ДМ»
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Российская компания «Эксимер ДМ», известная как производитель настольных компьютеров, рабочих станций, серверов и ноутбуков, выступила техническим спонсором проведения торжеств, посвященных...
Для длинных строк, т.е. строк длиннее 255 символов, в MySQL предусмотрены типы BLOB (Binary Large Object, большой двоичный объект) и...
В дополнение к календарным типам, предназначенным для хранения даты и времени отдельно, MySQL также поддерживает гибридные типы данных DATETIME и...
Вообще, к изменению настроек сервера прибегают очень редко. В MySQL программа заранее настроена так, чтобы соответствовать самым распространенным и основным...
PHP. Разное:Apache,IMAP,MnoGoSearch,OpenSSL. Часть Третья.
20-04-2015
<< Предыдущая статья | Следующая статья >> |
PHP. Разное:Apache,IMAP,MnoGoSearch,OpenSSL. Часть Вторая. | PHP. Разное:Apache,IMAP,MnoGoSearch,OpenSSL. Часть Четвёртая. |