Учебник PHP

         

XLIII. Функции IMAP, POP3 и NNTP


Введение

Эти функции не ограничиваются протоколом IMAP , как можно было бы понять из их названия. Основная клиентская С-библиотека также поддерживает методы доступа NNTP, POP3 и локального mailbox.


Требования

Это расширение требует наличия библиотеки c-client. Скачайте последнюю версию с ftp://ftp.cac.washington.edu/imap/ и скомпилируйте её.


Установка

Чтобы эти функции работали, вы должны скомпилировать PHP с опцией --with-imap.

Затем скопируйте c-client/c-client.a в /usr/local/lib/libc-client.a или какую-нибудь другую директорию в пути link и скопируйте c-client/c-client.h, c-client/imap4r1.h, c-client/rfc-882.h, c-client/mail.h и c-client/linkage.h в /usr/local/include или какую-нибудь другую директорию в пути include.

Примечание: в зависимости от того как c-client была сконфигурирована, вам также может понадобиться добавить --with-imap-ssl=/path/to/openssl/ и/или --with-kerberos в строки конфигурации PHP.


Конфигурация



Это расширение не определяет никаких директив конфигурации.


Типы ресурсов


Предопределённые константы

Эти константы определены данным расширением и будут доступны только в том случае, если либо вкомпилированы в РНР, либо динамически загружены на этапе прогона.

NIL (integer)
OP_DEBUG (integer)
OP_READONLY (integer)
OP_ANONYMOUS (integer)
OP_SHORTCACHE (integer)
OP_SILENT (integer)
OP_PROTOTYPE (integer)
OP_HALFOPEN (integer)
OP_EXPUNGE (integer)
OP_SECURE (integer)
CL_EXPUNGE (integer)
FT_UID (integer)
FT_PEEK (integer)
FT_NOT (integer)
FT_INTERNAL (integer)
FT_PREFETCHTEXT (integer)
ST_UID (integer)
ST_SILENT (integer)
ST_SET (integer)
CP_UID (integer)
CP_MOVE (integer)
SE_UID (integer)
SE_FREE (integer)
SE_NOPREFETCH (integer)
SO_FREE (integer)
SO_NOSERVER (integer)
SA_MESSAGES (integer)
SA_RECENT (integer)
SA_UNSEEN (integer)
SA_UIDNEXT (integer)
SA_UIDVALIDITY (integer)
SA_ALL (integer)
LATT_NOINFERIORS (integer)
LATT_NOSELECT (integer)
LATT_MARKED (integer)
LATT_UNMARKED (integer)
SORTDATE (integer)
SORTARRIVAL (integer)
SORTFROM (integer)
SORTSUBJECT (integer)
SORTTO (integer)
SORTCC (integer)
SORTSIZE (integer)
TYPETEXT (integer)
TYPEMULTIPART (integer)
TYPEMESSAGE (integer)
TYPEAPPLICATION (integer)
TYPEAUDIO (integer)
TYPEIMAGE (integer)
TYPEVIDEO (integer)
TYPEOTHER (integer)
ENC7BIT (integer)
ENC8BIT (integer)
ENCBINARY (integer)
ENCBASE64 (integer)
ENCQUOTEDPRINTABLE (integer)
ENCOTHER (integer)

См. также

Данный документ не может привести всю информацию об этих функциях. Дополнительно см. информацию в документации к исходнику библиотеки c-client (docs/internal.txt) и следующие RFC-документы:

  • RFC2821: Simple Mail Transfer Protocol (SMTP).

  • RFC2822: Стандарт для текстовых сообщений интернет ARPA.

  • RFC2060: Internet Message Access Protocol (IMAP) Версии 4rev1.

  • RFC1939: Post Office Protocol Версии 3 (POP3).

  • RFC977: Network News Transfer Protocol (NNTP).

  • RFC2076: Общие Шапки/Headers Internet-Сообщений.

  • RFC2045, RFC2046, RFC2047, RFC2048 & RFC2049: MultipurposeInternet Mail Extensions (MIME).

Детальный обзор также имеется в книге Programming Internet Email, автор David Wood, и ManagingIMAP, авторы Dianna Mullet & Kevin Mullet.

Предупреждение!
Могут возникнуть проблемы зависания и старта PHP при загрузке этого расширения вместе с расширением recode. См. также расширение recode.
Содержание
imap_8bit - конвертирует 8-битную строку в закавыченную печатаемую строку
imap_alerts - Эта функция возвращает все сообщения-предупреждения IMAP (если имеются), которые возникли в процессе запроса этой страницы или после восстановления стэка предупреждений
imap_append - присоединяет строковое сообщение в специфицированный mailbox
imap_base64 - декодирует BASE64-кодированный текст
imap_binary - конвертирует 8-битную строку в base64-строку
imap_body - читает тело сообщения
imap_bodystruct - читает структуру специфицированного раздела тела специфического сообщения
imap_check - проверяет текущий mailbox
imap_clearflag_full - очищает флаги в сообщениях
imap_close - закрывает поток IMAP
imap_createmailbox - создаёт новый mailbox/почтовый ящик
imap_delete - помечает сообщение для удаления из текущего mailbox
imap_deletemailbox - удаляет mailbox
imap_errors - эта функция возвращает все ошибки IMAP (если имеются), которые возникли в процессе запроса этой страницы или после восстановления стэка ошибок
imap_expunge - удаляет все сообщения, помеченные для удаления
imap_fetch_overview - читает обзор информации в шапках/headers данного сообщения
imap_fetchbody - извлекает определённый раздел тела сообщения
imap_fetchheader - возвращает header сообщения
imap_fetchstructure - читает структуру определённого сообщения
imap_get_quota - запрашивает установки уровня квоты и статистику использования mailbox
imap_getmailboxes - читает список mailbox'ов, возвращая детальную информацию о каждом
imap_getsubscribed - выдаёт список всех подписанных mailbox'ов
imap_header - читает header сообщения
imap_headerinfo - читает header сообщения
imap_headers — возвращает header'ы всех сообщений в mailbox
imap_last_error - эта функция возвращает последнюю ошибку IMAP (если имеется), которая возникла в процессе запроса этой страницы
imap_listmailbox - читает список mailbox'ов
imap_listsubscribed - выдаёт список всех подписанных mailbox'ов
imap_mail_compose - создаёт MIME-сообщение на основе данных разделов envelope и body
imap_mail_copy - копирует специфицированное сообщение в mailbox
imap_mail_move - перемещает специфицированное сообщение в mailbox
imap_mail - отправляет email-сообщение
imap_mailboxmsginfo - получает информацию о текущем mailbox'е
imap_mime_header_decode - декодирует элементы MIME-header'а
imap_msgno - эта функция возвращает количество последовательностей сообщений для данного UID
imap_num_msg - задаёт количество сообщений в текущем mailbox
imap_num_recent - задаёт количество оставшихся сообщений в текущем mailbox
imap_open - открывает поток IMAP в mailbox
imap_ping - проверяет, активен ли поток IMAP
imap_popen - открывает постоянный поток IMAP в mailbox
imap_qprint - конвертирует закавыченную печатаемую строку в 8-битную строку
imap_renamemailbox - переименовывает старый mailbox в новый mailbox
imap_reopen - повторно открывает поток IMAP в новый mailbox
imap_rfc822_parse_adrlist - разбирает строку с адресом
imap_rfc822_parse_headers - разбирает mail header'ы из строки
imap_rfc822_write_address - Возвращает соответственно сформатированный email адрес с данными mailbox, host и personal info.
imap_scanmailbox - читает список mailbox'ов, берёт строку для поиска в тексте mailbox'а
imap_search - эта функция возвращает массив сообщений, совпадающих с данными критериями поиска
imap_set_quota - устанавливает квоту для данного mailbox'а
imap_setacl - устанавливает ACL для данного mailbox'а
imap_setflag_full - устанавливает флаги на сообщениях
imap_sort — сортирует массив header'ов сообщений
imap_status - эта функция возвращает статус-информацию о mailbox'е, отличном от текущего
imap_subscribe - подписывает на mailbox
imap_thread - возвращает дерево, распределённое REFERENCES по потокам
imap_uid - эта функция возвращает UID для данного номера последовательности сообщений
imap_undelete - снимает маркировку с сообщения, помеченного для удаления
imap_unsubscribe - отменяет подписку на mailbox
imap_utf7_decode - декодирует модифицированную UTF-7-кодированную строку
imap_utf7_encode — конвертирует 8-битные данные в модифицированный UTF-7-текст
imap_utf8 - конвертирует текст в  UTF8
Содержание раздела