XVII. Функции IMAP
Для того, чтобы эти функции заработали вц должны скомпилировать 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
Описание
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() декодирует текст в формате BASE-64. Декодированное сообщение возвращается как строка.
imap_body
Описание
Функция imap_body() возвращает тело сообщения, имеющего номер п/п msg_number в текущем почтовом ящике. Необязательные флаги это битовые маски из
FT_UID - Номер сообщения msgno является UID'ом сообщения
FT_PEEK - Не устанавливать флаг \Seen если он еще не установлен.
FT_INTERNAL - Возвращаемая строка записана во внутреннем формате и не может быть приведена к канонической форме с CRLF.
imap_check
Описание
Возвращает информацию о текущем почтовом ящике. В случае неуспеха возвращает FALSE.
Функция imap_check() проверяет статус текущего почтового ящика на сервере и возвращает информацию в объекте со следующими свойствами.
Date : дата сообщения Driver : драйвер Mailbox : название почтового ящика Nmsgs : количество сообщений Recent : количество недавно пришедших сообщений
imap_close
Описание
Закрывает поток imap. Необязательный флаг CL_EXPUNGE заставляет стереть помеченные на удаление сообщения при закрытии.
imap_createmailbox
Описание
imap_createmailbox() создает новый почтовый ящик указанный в mbox.
Возвращает true в случае успеха и false при ошибке.
imap_delete
Описание
Возвращает true.
Функция imap_delete() помечает сообщение, указанное через msg_number на удаление. Настоящее удаление сообщений осуществляется функцией imap_expunge().
imap_deletemailbox
Описание
imap_deletemailbox() удаляет указанный почтовый ящик.
Возвращает true в случае успеха и false иначе.
imap_expunge
Описание
imap_expunge() удаляет все сообщения помеченные на удаление с помощью imap_delete().
Возвращает true.
imap_fetchbody
Описание
Эта функция заставляет извлечь подробную секцию указанного сообщения как текстовую строку. Секция это строка целых чисел, разделенных точками, которые указывают на части тела сообщения в списке частей согласно спецификации IMAP4. Части тела не декодируются этой функцией.
Необязательным параметром к imap_fetchbody () является битовая маска из
FT_UID - msgono является UID'ом
FT_PEEK - не устанавливать флаг \Seen если он не установлен
FT_UID - возвращаемая строка записана во внутреннем формате, которое не может быть канонизированна с помощью CRLF
imap_fetchstructure
Описание
Эта функция заставляет извлечь всю информацию о структуре сообщения с номером msg_number. Возвращаемая величина является объектом со следующими элементами.
type, encoding, ifsubtype, subtype, ifdescription, description, ifid, id, lines, bytes, ifparameters (тип, кодировка, подтип интерфейса, подтип, описание интерфейса, описание, идентификатор интерфейса, строки, байты, параметры интерфейса)
Также функция возвращает массив объектов под названием parameters[]. Этот объект имеет следующие свойства.
attribute, value атрибут, величина
В случае сообщения из нескольих частей, функция также возвращает массив объектов всех свойств под название parts[].
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_listmailbox
Описание
Возвращает массив, содержащий названия почтовых ящиков.
imap_listsubscribed
Описание
Возвращает массив всех почтовых ящиков на которые Вы подписаны. Аргументы ref и pattern указывают начальное месторасположение откуда начинать поиск и шаблон, которому должны удовлетворять названия почтовых ящиков.
imap_mail_copy
Описание
Возвращает true в случае успеха и false иначе.
Копирует почтовые сообщения указанные с помощью msglist в почтовый ящик mbox. msglist - это диапазон, а не просто номера сообщений.
флаги - это битовые маски из CP_UID - номера в последовательности содержат UID'ы CP_MOVE - после копирования удалить сообщения из текущего почтового ящика
imap_mail_move
Описание
Переносит почтовые сообщения указанные с помощью msglist в почтовый ящик mbox. msglist - это диапазон, а не просто номера сообщений.
Возвращает true в случае успеха и false иначе.
imap_num_msg
Описание
Возвращает количество сообщений в текущем почтовом ящике.
imap_num_recent
Описание
Возвращает количество недавно пришедших сообщений в текущем почтовом ящике.
imap_open
Описание
В случае успеха возвращает поток 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
Описание
Возвращает true если поток еще работоспособен и false иначе.
Функция imap_ping() проверяет поток на работоспособность. Он может также проверять новую почту; это предпочтительный метод для периодической проверки новой почты и "живучести" удаленных серверов.
imap_renamemailbox
Описание
Эта функция переименовывает старый почтовый ящик в новый.
Возвращает true в случае успеха и false иначе.
imap_reopen
Описание
Возвращает true в случае успеха и false иначе.
Эта функция заново открывает указанный поток на новый ящик.
Опции - битовая маска из OP_READONLY - Открыть почтовый ящик в режиме только чтение OP_ANONYMOUS - Не использовать или не обновлять .newsrc при работе с новостями OP_HALFOPEN - Для IMAP и NNTP устанавливает связь но не открывает почтовый ящик CL_EXPUNGE - Очищает почтовый ящик при закрытии
imap_subscribe
Описание
Подписывает на новый почтовый ящик.
Возвращает true в случае успеха и false иначе.
imap_undelete
Описание
Эта функция cнимает отметку с сообщения помеченного на удаление функцией imap_delete().
Возвращает true в случае успеха и false иначе.
imap_unsubscribe
Описание
Снимает подписку с почтового ящика.
Возвращает true в случае успеха и false иначе.
imap_qprint
Описание
Конвертирует строку формата quoted-printable в 8-битовую строку.
Возвращает 8-битовую (бинарную) строку
imap_8bit
Описание
Конвертирует 8-битовую строку в формат quoted-printable.
Возвращает строку в формате quoted-printable.
imap_binary
Описание
Конвертирует 8-битную строку в формат base64.
Возвращает строку в формате base64.
imap_scanmailbox
Описание
Возвращает массив, содержащий имена почтовых ящиков, которые имеют строку string в названии.
imap_mailboxmsginfo
Описание
Возвращает информацию о текущем почтовом ящике. FALSE в случае неудачи.
Функция imap_mailboxmsginfo() проверяет статус текущего почтового ящика на сервере и возвращает информацию в объекте со следующими свойствами:
Date : дата сообщения Driver : драйвер Mailbox : название почтового ящика Nmsgs : количество сообщений Recent : количество недавно пришедших сообщений Unread : количество непрочитанных сообщений Size : размер почтового ящика
imap_rfc822_write_address
Description
Возвращает правильно отформатированный email адрес по данному почтовому ящику, хосту и персональной информации.
imap_rfc822_parse_adrlist
Описание
Эта функция разбирает адресную строку и для каждого адреса возвращает массив объектов. Есть 4 типа объектов:
mailbox - название почтового ящика (имя пользователя) host - название хоста personal - личное имя adl - путь к домену-источнику
imap_setflag_full
Описание
Эта функция застваляет добавить указанный флаг к набору флагов сообщения в указанной последовательности.
options - это битовая маска из
ST_UID Аргументы последовательности содержат UIDы вместо номеров
imap_clearflag_full
Описание
Эта функция заставляет удалить флаги из набора флагов сообщения в указанной последовательности.
options - это битовая маска из
ST_UID Аргументы последовательности содержат UIDы вместо номеров
imap_sort
Описание
Возвращает массив номеров сообщений рассортированных по данному параметру Rev должен быть равен 1 если нужна сортировка в обратном порядке
Критерии сортировки (должен быть указан только один):
SORTDATE по дате сообщения SORTARRIVAL по дате поступления SORTFROM по полю From SORTSUBJECT по теме сообщения SORTTO по полю To SORTCC по полю cc SORTSIZE по размеру
опции - битовая маска из
SE_UID Возвратить UIDы вместо номеров последовательности SE_NOPREFETCH Не извелекать заранее найденные сообщения
imap_fetchheader
Описание
Эта функция заставляет извлечь полный, неотфильтрованный заголовок указанного сообщения в формате RFC 822 как текстовую строку. Опции:
FT_UID msgno является UID'ом FT_INTERNAL Возвращаемая строка записана во внутреннем формате без каких-либо попыток канонизировать ее с помощью CRLF FT_PREFETCHTEXT RFC822. Текст должен быть предварительно разобран. Это поможет избежать эстренных задержек если требуется извлечь полный текст сообщения (например, в операции "сохранить в локальном файле")
imap_uid
Описание
Эта функция возвращает UID по данному номеру сообщения в последовательности.
[Назад][Содержание][Вперед]