Приглашаем посетить
Гоголь (gogol-lit.ru)

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

Функции 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 () является битовая маска из


imap_fetchstructure

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

Описание
array imap_fetchstructure(int imap_stream, int msg_number);

Эта функция заставляет извлечь всю информацию о структуре сообщения с номером msg_number. Возвращаемая величина является объектом со следующими элементами.
typeencodingifsubtypesubtypeifdescriptiondescriptionifididlinesbytesifparameters
типкодировкаподтип интерфейсаподтипописание интерфейсаописаниеидентификатор интерфейсаидентификаторстрокибайтыпараметры интерфейса

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

В случае сообщения из нескольих частей, функция также возвращает массив объектов всех свойств под название 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 - это диапазон, а не просто номера сообщений.

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


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-адрес сервера к которому Вы хотите подсоединиться.

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


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 иначе. Эта функция заново открывает указанный поток на новый ящик.

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


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() проверяет статус текущего почтового ящика на сервере и возвращает информацию в объекте со следующими свойствами:


imap_rfc822_write_address

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

Описание
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 типа объектов:

imap_setflag_full

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

Описание
string imap_setflag_full(int stream, string sequence, string flag, string options);

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

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


imap_clearflag_full

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

Описание
string imap_clearflag_full(int stream, string sequence, string flag, string options);

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

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


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        по размеру
опции - битовая маска из

imap_fetchheader

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

Описание
stringimap_fetchheader(int imap_stream, int msgno, int flags);

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

Опиции:


imap_uid

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

Описание
string imap_uid(string mailbox, int msgno);

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

Назад | Содержание | Вперед