Руководство по РНР 3.0 - Функции IMAP

Содержание

imap_append

imap_base64

imap_body

imap_check

imap_close

imap_createmailbox

imap_delete

imap_deletemailbox

imap_expunge

imap_fetchbody

imap_fetchstructure

imap_header

imap_headers

imap_listmailbox

imap_listsubscribed

imap_mail_copy

imap_mail_move

imap_num_msg

imap_num_recent

imap_open

imap_ping

imap_renamemailbox

imap_reopen

imap_subscribe

imap_undelete

imap_unsubscribe

imap_qprint

imap_8bit

imap_binary

imap_scanmailbox

imap_mailboxmsginfo

imap_rfc822_write_address

imap_rfc822_parse_adrlist

imap_setflag_full

imap_clearflag_full

imap_sort

imap_fetchheader

imap_uid

Для того, чтобы эти функции заработали вц должны скомпилировать PHP с флагом --with-imap. Этот флаг требут,

чтобы была установлена библиотека c-client. Последнюю версию можно получить по адресу ftp://ftp.cac.washington.edu/imap/.

Затем скопируйте c-client/c-client.a в /usr/local/lib или какую либо другую директорию, прописанную в пути, затем

скопируйте c-client/rfc822.h, mail.h и linkage.h в /usr/local/include или другую директорию с include-файлами.

imap_append

imap_append -- Добавляет текстовое сообщение в указанный почтовый ящик

Описание

int imap_append(int imap_stream, string mbox, string message, stringflags);

Возвращает true в случае успеха или false иначе.

imap_append() добавляет текстовое сообщение в указанный почтовый ящик mbox. Если указаны необязательные

флаги, также записывает в почтовый ящик и флаги.

При общении с сервером Cyrus IMAP нужно использовать в качестве ограничителей строки "\r\n" вместо "\n",

иначе действие не выполнится.

imap_base64

imap_base64 -- Декодирует текст, закодированный с помощью BASE64

Описание

string imap_base64(string text);

Функция imap_base64() декодирует текст в формате BASE-64. Декодированное сообщение возвращается 

как строка.

imap_body

imap_body -- Читает тело сообщения

Описание

string imap_body(int imap_stream, int msg_number, int flags);

Функция imap_body() возвращает тело сообщения, имеющего номер п/п msg_number в текущем почтовом ящике.

Необязательные флаги это битовые маски из

     FT_UID - Номер сообщения msgno является UID'ом сообщения

     FT_PEEK - Не устанавливать флаг \Seen если он еще не установлен.

     FT_INTERNAL - Возвращаемая строка записана во внутреннем формате и не может быть приведена к канонической

                   форме с CRLF.

imap_check

imap_check -- Проверяет текущий почтовый ящик

Описание

array imap_check(int imap_stream);

Возвращает информацию о текущем почтовом ящике. В случае неуспеха возвращает FALSE.

Функция imap_check() проверяет статус текущего почтового ящика на сервере и возвращает информацию в объекте

со следующими свойствами.

Date : дата сообщения

Driver : драйвер

Mailbox : название почтового ящика

Nmsgs : количество сообщений

Recent : количество недавно пришедших сообщений

imap_close

imap_close -- Закрывает поток IMAP

Описание

int imap_close(int imap_stream, int flags);

Закрывает поток imap. Необязательный флаг CL_EXPUNGE заставляет стереть помеченные на удаление сообщения

при закрытии.

imap_createmailbox

imap_createmailbox -- Создает новый почтовый ящик.

Описание

int imap_createmailbox(int imap_stream, string mbox);

imap_createmailbox() создает новый почтовый ящик указанный в mbox.

Возвращает true в случае успеха и false при ошибке.

imap_delete

imap_delete -- Помечает сообщение из текущего почтового ящика на удаление

Описание

int imap_delete(int imap_stream, int msg_number);

Возвращает true.

Функция imap_delete() помечает сообщение, указанное через msg_number на удаление. Настоящее удаление сообщений

осуществляется функцией imap_expunge().

imap_deletemailbox

imap_deletemailbox -- Удаляет почтовый ящик

Описание

int imap_deletemailbox(int imap_stream, string mbox);

imap_deletemailbox() удаляет указанный почтовый ящик.

Возвращает true в случае успеха и false иначе.

imap_expunge

imap_expunge -- Удаляет все сообщения, помеченные на удаление

Описание

int imap_expunge(int imap_stream);

imap_expunge() удаляет все сообщения помеченные на удаление с помощью imap_delete().

Возвращает true.

imap_fetchbody

imap_fetchbody -- Извлекает простую секцию тела сообщения

Описание

string imap_fetchbody(int imap_stream, int msg_number, int part_number, flags flags);

Эта функция заставляет извлечь подробную секцию указанного сообщения как текстовую строку.

Секция это строка целых чисел, разделенных точками, которые указывают на части тела сообщения в списке частей

согласно спецификации IMAP4. Части тела не декодируются этой функцией.

Необязательным параметром к imap_fetchbody () является битовая маска из

     FT_UID - msgono является UID'ом 

     FT_PEEK - не устанавливать флаг \Seen если он не установлен

     FT_UID - возвращаемая строка записана во внутреннем формате, которое не может быть канонизированна с помощью CRLF

imap_fetchstructure

imap_fetchstructure -- Читает структуру простого сообщения

Описание

array imap_fetchstructure(int imap_stream, int msg_number);

Эта функция заставляет извлечь всю информацию о структуре сообщения с номером msg_number. Возвращаемая величина

является объектом со следующими элементами.

 type, encoding, ifsubtype, subtype, ifdescription, description, ifid,

 id, lines, bytes, ifparameters

 тип, кодировка, подтип интерфейса, подтип, описание интерфейса, описание, идентификатор

 интерфейса, строки, байты, параметры интерфейса

Также функция возвращает массив объектов под названием parameters[]. Этот объект имеет следующие

свойства.

attribute, value

атрибут, величина

В случае сообщения из нескольих частей, функция также возвращает массив объектов всех свойств

под название parts[].

imap_header

imap_header -- Читает заголовок сообщения

Описание

object imap_header(int imap_stream, int msg_number, int fromlength, int subjectlength, int defaulthost);

Эта функция возвращает объект различных элементов заголовка

       remail,date,Date,subject,Subject,in_reply_to,message_id,newsgroups,

       followup_to,references

toaddress (полная строка To: строка длиной до 1024 символов)

to[] (возвращает массив объектов из строки To, содержит:)

   personal

   adl

   mailbox

   host

fromaddress (полная строка From: строка длиной до 1024 символов)

from[] (возвращает массив объектов из строки From, содержит:)

   personal

   adl

   mailbox

   host

ccaddress (полная строка  Cc: строка длиной до 1024 символов)

cc[] (возвращает массив объектов из строки Cc, содержит:)

   personal

   adl

   mailbox

   host

bccaddress (полная строка Bcc: строка длиной до 1024 символов)

bcc[] (возвращает массив объектов из строки Bcc, содержит:)

   personal

   adl

   mailbox

   host

reply_toaddress (полная строка Reply_to: строка длиной до 1024 символов)

reply_to[] (возвращает массив объектов из строки Reply_to, содержит:)

   personal

   adl

   mailbox

   host

senderaddress (полная строка Sender: строка длиной до 1024 символов)

sender[] (возвращает массив объектов из строки Sender, содержит:)

   personal

   adl

   mailbox

   host

return_path (полная строка Return-path: строка длиной до 1024 символов)

return_path[] (возвращает массив объектов из строки Return_path, содержит:)

   personal

   adl

   mailbox

   host

udate ( дата сообщения в формате времени unix)

fetchfrom (строка From, отформатированная до fromlength символов)

fetchsubject (строка Subject, отформатированная до subjectlength символов)

imap_headers

imap_headers -- Возвращает заголовки всех сообщений в почтовом ящике

Описание

array imap_headers(int imap_stream);

Возвращает строковый массив из информации по заголокам. Один элемент массива на сообщение.

imap_listmailbox

imap_listmailbox -- Читает список почтовых ящиков

Описание

array imap_listmailbox(int imap_stream, string ref, string pat);

Возвращает массив, содержащий названия почтовых ящиков.

imap_listsubscribed

imap_listsubscribed -- Перечисляет все подписанные ящики

Описание

array imap_listsubscribed(int imap_stream, string ref, string pattern);

Возвращает массив всех почтовых ящиков на которые Вы подписаны. Аргументы ref и pattern указывают начальное

месторасположение откуда начинать поиск и шаблон, которому должны удовлетворять названия почтовых ящиков.

imap_mail_copy

imap_mail_copy -- Копирует указанные сообщения в почтовый ящик

Описание

int imap_mail_copy(int imap_stream, string msglist, string mbox, int flags);

Возвращает true в случае успеха и false иначе.

Копирует почтовые сообщения указанные с помощью msglist в почтовый ящик mbox. msglist - это диапазон, а не просто

номера сообщений.

флаги - это битовые маски из

     CP_UID - номера в последовательности содержат UID'ы

     CP_MOVE - после копирования удалить сообщения из текущего почтового ящика

imap_mail_move

imap_mail_move -- Переносит указанные сообщения в почтовый ящик

Описание

int imap_mail_move(int imap_stream, string msglist, string mbox);

Переносит почтовые сообщения указанные с помощью msglist в почтовый ящик mbox. msglist - это диапазон, а не просто

номера сообщений.

Возвращает true в случае успеха и false иначе.

imap_num_msg

imap_num_msg -- Выдает количество сообщений в текущем почтовом ящике

Описание

int imap_num_msg(void);

Возвращает количество сообщений в текущем почтовом ящике.

imap_num_recent

imap_num_recent -- Возвращает количество недавно пришедших сообщений в текущем почтовом ящике

Описание

int imap_num_recent(int imap_stream);

Возвращает количество недавно пришедших сообщений в текущем почтовом ящике.

imap_open

imap_open -- Открывает поток IMAP в почтовый ящик

Описание

int imap_open(string mailbox, string username, string password, int flags);

В случае успеха возвращает поток IMAP или false иначе. Эта функция может быть использована для открытия потоков

к POP3 и NNTP серверам. Для того, чтобы присоединиться к серверу IMAP на 143-й порт на локальной машине сделайте

следующее:

$mbox = imap_open("{localhost:143}INBOX","user_id","password");

Для того, чтобы подсоединиться к POP3-серверу на 110-й порт на локальном сервере используйте:

$mbox = imap_open("{localhost/pop3:110}INBOX","user_id","password");

Для того, чтобы подсоединиться к NNTP-серверу на 119-й порт на локальном сервере используйте:

$nntp = imap_open("{localhost/nntp:119}comp.test","","");

Для того, чтобы подсоединиться к удаленному серверу замените "localhost" на имя или IP-адрес сервера к которому

Вы хотите подсоединиться.

Опции - битовая маска из

     OP_READONLY - Открыть почтовый ящик в режим "только чтение"

     OP_ANONYMOUS - Не использовать или не обновлять .newsrc при использовании новостей

     OP_HALFOPEN - Для IMAP и NNTP устанавливает соединение, но не открывает почтовый ящик

     CL_EXPUNGE - Автоматически очищать почтовый ящик при закрытии

imap_ping

imap_ping -- Проверяет поток IMAP на работоспособность

Описание

int imap_ping(int imap_stream);

Возвращает true если поток еще работоспособен и false иначе.

Функция imap_ping() проверяет поток на работоспособность. Он может также проверять новую почту; это

предпочтительный метод для периодической проверки новой почты и "живучести" удаленных серверов.

imap_renamemailbox

imap_renamemailbox -- Переименовывает старый почтовый ящик в новый

Описание

int imap_renamemailbox(int imap_stream, string old_mbox, string new_mbox);

Эта функция переименовывает старый почтовый ящик в новый.

Возвращает true в случае успеха и false иначе.

imap_reopen

imap_reopen -- Заново открывает поток IMAP на новый почтовый ящик

Описание

int imap_reopen(string imap_stream, string mailbox, string [flags]);

Возвращает true в случае успеха и false иначе.

Эта функция заново открывает указанный поток на новый ящик.

Опции - битовая маска из

     OP_READONLY - Открыть почтовый ящик в режиме только чтение

     OP_ANONYMOUS - Не использовать или не обновлять .newsrc при работе с новостями

     OP_HALFOPEN - Для IMAP и NNTP устанавливает связь но не открывает почтовый ящик

     CL_EXPUNGE - Очищает почтовый ящик при закрытии

imap_subscribe

imap_subscribe -- Подписывает на почтовый ящик

Описание

int imap_subscribe(int imap_stream, string mbox);

Подписывает на новый почтовый ящик.

Возвращает true в случае успеха и false иначе.

imap_undelete

imap_undelete -- Снимает отметку с сообщения помеченного на удаление

Описание

int imap_undelete(int imap_stream, int msg_number);

Эта функция cнимает отметку с сообщения помеченного на удаление функцией imap_delete().

Возвращает true в случае успеха и false иначе.

imap_unsubscribe

imap_unsubscribe -- Снимает подписку с почтового ящика

Описание

int imap_unsubscribe(int imap_stream, string mbox);

Снимает подписку с почтового ящика.

Возвращает true в случае успеха и false иначе.

imap_qprint

imap_qprint -- Конвертирует строку формата quoted-printable в 8-битовую строку

Описание

string imap_qprint(string string);

Конвертирует строку формата quoted-printable в 8-битовую строку.

Возвращает 8-битовую (бинарную) строку

imap_8bit

imap_8bit -- Конвертирует 8-битовую строку в формат quoted-printable

Описание

string imap_8bit(string string);

Конвертирует 8-битовую строку в формат quoted-printable.

Возвращает строку в формате quoted-printable.

imap_binary

imap_binary -- Конвертирует 8-битную строку в формат base64

Описание

string imap_binary(string string);

Конвертирует 8-битную строку в формат base64.

Возвращает строку в формате base64.

imap_scanmailbox

imap_scanmailbox -- Читает список почтовых ящиков, проводит поиск в названиях ящиков

Описание

array imap_scanmailbox(int imap_stream, string string);

Возвращает массив, содержащий имена почтовых ящиков, которые имеют строку string в названии.

imap_mailboxmsginfo

imap_mailboxmsginfo -- Получает информацию о текущем почтовом ящике

Описание

array imap_mailboxmsginfo(int imap_stream);

Возвращает информацию о текущем почтовом ящике. FALSE в случае неудачи.

Функция imap_mailboxmsginfo() проверяет статус текущего почтового ящика на сервере и возвращает

информацию в объекте со следующими свойствами:

       Date : дата сообщения

       Driver : драйвер

       Mailbox : название почтового ящика

       Nmsgs : количество сообщений

       Recent : количество недавно пришедших сообщений

       Unread : количество непрочитанных сообщений

       Size : размер почтового ящика

imap_rfc822_write_address

imap_rfc822_write_address -- Возвращает правильно отформатированный email адрес

Description

string imap_rfc822_write_address(string mailbox, string host, string personal);

Возвращает правильно отформатированный email адрес по данному почтовому ящику, хосту и персональной информации.

imap_rfc822_parse_adrlist

imap_rfc822_parse_adrlist -- Проводит разбор адресной строки

Описание

string imap_rfc822_parse_adrlist(string address, string default_host);

Эта функция разбирает адресную строку и для каждого адреса возвращает массив объектов. Есть 4 типа объектов:

     mailbox - название почтового ящика (имя пользователя)

     host   - название хоста

     personal - личное имя

     adl - путь к домену-источнику

    

imap_setflag_full

imap_setflag_full -- Устанавливает флаги на сообщения

Описание

string imap_setflag_full(int stream, string sequence, string flag, string options);

Эта функция застваляет добавить указанный флаг к набору флагов сообщения в указанной последовательности.

options - это битовая маска из

        ST_UID          Аргументы последовательности содержат UIDы вместо номеров

    

imap_clearflag_full

imap_clearflag_full -- Очищает флаги сообщения

Описание

string imap_clearflag_full(int stream, string sequence, string flag, string options);

Эта функция заставляет удалить флаги из набора флагов сообщения в указанной последовательности.

options - это битовая маска из

        ST_UID          Аргументы последовательности содержат UIDы вместо номеров

    

imap_sort

imap_sort -- Сортирует сообщения в текущем почтовом ящике

Описание

string imap_sort(int stream, int criteria, int reverse, int options);

Возвращает массив номеров сообщений рассортированных по данному параметру

Rev должен быть равен 1 если нужна сортировка в обратном порядке

Критерии сортировки (должен быть указан только один):

                SORTDATE        по дате сообщения

                SORTARRIVAL     по дате поступления

                SORTFROM        по полю From

                SORTSUBJECT     по теме сообщения

                SORTTO          по полю To

                SORTCC          по полю cc

                SORTSIZE        по размеру

    

опции - битовая маска из 

        SE_UID          Возвратить UIDы вместо номеров последовательности

        SE_NOPREFETCH   Не извелекать заранее найденные сообщения

    

imap_fetchheader

imap_fetchheader -- Возвращает заголовок сообщения

Описание

stringimap_fetchheader(int imap_stream, int msgno, int flags);

Эта функция заставляет извлечь полный, неотфильтрованный заголовок указанного сообщения в формате RFC 822

как текстовую строку.

Опиции:

        FT_UID          msgno является UID'ом

        FT_INTERNAL     Возвращаемая строка записана во внутреннем формате

                        без каких-либо попыток канонизировать ее с помощью CRLF

        FT_PREFETCHTEXT RFC822. Текст должен быть предварительно разобран.

                        Это поможет избежать эстренных задержек если требуется

                        извлечь полный текст сообщения (например, в операции

                        "сохранить в локальном файле")

imap_uid

imap_uid -- Эта функция возвращает UID по данному номеру сообщения в последовательности

Описание

string imap_uid(string mailbox, int msgno);

Эта функция возвращает UID по данному номеру сообщения в последовательности.

Назад, к содержанию




HTML Site Map

Rambler's Top100
© 2009 Тест скорости интернета |  Boont.Ru