Функции IMAP, POP3 и NNTP
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