Функции IMAP
Функции 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. Лежащая в основе библиотека C-клиента также поддерживает NNTP, POP3 и методы доступа к локальным почтовым ящикам.
imap_append
Добавляет текстовое сообщение в указанный почтовый ящик.
Синтаксис:
int imap_append(int imap_stream, string mbox, string message, stringflags);
Возвращает true в случае успеха или false иначе.
imap_append() добавляет текстовое сообщение в указанный почтовый ящик mbox. Если указаны необязательные флаги, также записывает в почтовый ящик и флаги. При общении с сервером Cyrus IMAP нужно использовать в качестве ограничителей строки "rn" вместо "n",иначе действие не выполнится.
imap_base64
Декодирует текст, закодированный с помощью BASE64.
Синтаксис:
string imap_base64(string text);
Функция imap_base64() декодирует текст в формате BASE-64. Декодированное сообщение возвращается как строка.
imap_body
Читает тело сообщения.
Синтаксис:
string imap_body(int imap_stream, int msg_number, int flags);
Функция imap_body() возвращает тело сообщения, имеющего номер п/п msg_number в текущем почтовом ящике.
Необязательные флаги это битовые маски из
imap_check
Проверяет текущий почтовый ящик.
Синтаксис:
array imap_check(int imap_stream);
Возвращает информацию о текущем почтовом ящике. В случае неуспеха возвращает FALSE.
Функция imap_check() проверяет статус текущего почтового ящика на сервере и возвращает информацию в объекте со следующими свойствами :
imap_close
Закрывает поток IMAP.
Синтаксис:
int imap_close(int imap_stream, int flags);
Закрывает поток imap. Необязательный флаг CL_EXPUNGE заставляет стереть помеченные на удаление сообщения при закрытии.
imap_createmailbox
Создает новый почтовый ящик.
Синтаксис:
int imap_createmailbox(int imap_stream, string mbox);
imap_createmailbox() создает новый почтовый ящик указанный в mbox.Возвращает true в случае успеха и false при ошибке.
imap_delete
Помечает сообщение из текущего почтового ящика на удаление.
Синтаксис:
int imap_delete(int imap_stream, int msg_number);
Возвращает true. Функция imap_delete() помечает сообщение, указанное через msg_number на удаление. Настоящее удаление сообщений осуществляется функцией imap_expunge().
imap_deletemailbox
Удаляет почтовый ящик.
Синтаксис:
int imap_deletemailbox(int imap_stream, string mbox);
Возвращает true в случае успеха и false иначе.
imap_expunge
Удаляет все сообщения, помеченные на удаление.
Синтаксис:
int imap_expunge(int imap_stream);
imap_expunge() удаляет все сообщения помеченные на удаление с помощью imap_delete().
Возвращает true.
imap_fetchbody
Извлекает простую секцию тела сообщения.
Синтаксис:
string imap_fetchbody(int imap_stream, int msg_number, int part_number, flags flags);
Эта функция заставляет извлечь подробную секцию указанного сообщения как текстовую строку. Секция это строка целых чисел, разделенных точками, которые указывают на части тела сообщения в списке частей согласно спецификации IMAP4. Части тела не декодируются этой функцией.
Необязательным параметром к imap_fetchbody() является битовая маска из
imap_fetchstructure
Читает структуру простого сообщения.
Синтаксис:
array imap_fetchstructure(int imap_stream, int msg_number);
Эта функция заставляет извлечь всю информацию о структуре сообщения с номером msg_number. Возвращаемая величина является объектом со следующими элементами :
Также функция возвращает массив объектов под названием parameters[]. Этот объект имеет следующие свойства :
value - величина
В случае сообщения из нескольких частей, функция также возвращает массив объектов всех свойств под название parts[].
imap_header
Читает заголовок сообщения.
Синтаксис:
object imap_header(int imap_stream, int msg_number, int fromlength, int subjectlength, int defaulthost);
Эта функция возвращает объект различных элементов заголовка
imap_headers
Возвращает заголовки всех сообщений в почтовом ящике.
Синтаксис:
array imap_headers(int imap_stream);
Возвращает строковый массив из информации по заголокам. Один элемент массива на сообщение.
imap_listmailbox
Читает список почтовых ящиков.
Синтаксис:
array imap_listmailbox(int imap_stream, string ref, string pat);
Возвращает массив, содержащий названия почтовых ящиков.
imap_listsubscribed
Перечисляет все подписанные ящики.
Синтаксис:
array imap_listsubscribed(int imap_stream, string ref, string pattern);
Возвращает массив всех почтовых ящиков на которые Вы подписаны. Аргументы ref и pattern указывают начальноеместорасположение откуда начинать поиск и шаблон, которому должны удовлетворять названия почтовых ящиков.
imap_mail_copy
Копирует указанные сообщения в почтовый ящик.
Синтаксис:
int imap_mail_copy(int imap_stream, string msglist, string mbox, int flags);
Возвращает true в случае успеха и false иначе.
Копирует почтовые сообщения указанные с помощью msglist в почтовый ящик mbox.
msglist - это диапазон, а не простономера сообщений.
Флаги - это битовые маски из
imap_mail_move
Переносит указанные сообщения в почтовый ящик.
Синтаксис:
int imap_mail_move(int imap_stream, string msglist, string mbox);
Переносит почтовые сообщения указанные с помощью msglist в почтовый ящик mbox.
msglist - это диапазон, а не простономера сообщений.
Возвращает true в случае успеха и false иначе.
imap_num_msg
Выдает количество сообщений в текущем почтовом ящике.
Синтаксис:
int imap_num_msg(void);
Возвращает количество сообщений в текущем почтовом ящике.
imap_num_recent
Возвращает количество недавно пришедших сообщений в текущем почтовом ящике.
Синтаксис:
int imap_num_recent(int imap_stream);
imap_open
Подключение к серверу (открытие почтового ящика).
Синтаксис:
int imap_open(string mailbox, string username, string password [, int flags]);
Функция imap_open() возвращает дескриптор почтового ящика IMAP (дескриптор подключения к серверу IMAP) или false при ошибке.
Эта функция может быть использована для открытия потоков к POP3 и NNTP серверам, но в этом случае некоторые функции будут недоступны.
Аргумент mailbox - задает имя сервера и путь к почтовому ящику. Имя сервера следует заключать в фигурные скобки "{" и "}", внутри которых должно содержаться: имя сервера (или его IP-адрес), возможно указание протокола (который начинается со слеша "/") и номера порта.
Для того, чтобы присоединиться к серверу 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 на работоспособность.
Синтаксис:
int imap_ping(int imap_stream);
Возвращает true если поток еще работоспособен и false иначе.
Функция imap_ping() проверяет поток на работоспособность. Он может также проверять новую почту; это предпочтительный метод для периодической проверки новой почты и "живучести" удаленных серверов.
imap_renamemailbox
Переименовывает старый почтовый ящик в новый.
Синтаксис:
int imap_renamemailbox(int imap_stream, string old_mbox, string new_mbox);
Эта функция переименовывает старый почтовый ящик в новый.Возвращает true в случае успеха и false иначе.
imap_reopen
Заново открывает поток IMAP на новый почтовый ящик.
Синтаксис:
int imap_reopen(string imap_stream, string mailbox, string [flags]);
Возвращает true в случае успеха и false иначе.
Эта функция заново открывает указанный поток на новый ящик.
Опции - битовая маска из
imap_subscribe
Подписывает на почтовый ящик.
Синтаксис:
int imap_subscribe(int imap_stream, string mbox);
Возвращает true в случае успеха и false иначе.
imap_undelete
Снимает отметку с сообщения помеченного на удаление.
Синтаксис:
int imap_undelete(int imap_stream, int msg_number);
Эта функция cнимает отметку с сообщения помеченного на удаление функцией imap_delete().
Возвращает true в случае успеха и false иначе.
imap_unsubscribe
Снимает подписку с почтового ящика.
Синтаксис:
int imap_unsubscribe(int imap_stream, string mbox);
Возвращает true в случае успеха и false иначе.
imap_qprint
Конвертирует строку формата quoted-printable в 8-битовую строку.
Синтаксис:
string imap_qprint(string string);
Возвращает 8-битовую (бинарную) строку.
imap_8bit
Конвертирует 8-битовую строку в формат quoted-printable.
Синтаксис:
string imap_8bit(string string);
Возвращает строку в формате quoted-printable.
imap_binary
Конвертирует 8-битную строку в формат base64.
Синтаксис:
string imap_binary(string string);
Возвращает строку в формате base64.
imap_scanmailbox
Читает список почтовых ящиков, проводит поиск в названиях ящиков.
Синтаксис:
array imap_scanmailbox(int imap_stream, string string);
Возвращает массив, содержащий имена почтовых ящиков, которые имеют строку string в названии.
imap_mailboxmsginfo
Получает информацию о текущем почтовом ящике.
Синтаксис:
array imap_mailboxmsginfo(int imap_stream);
Возвращает информацию о текущем почтовом ящике. FALSE в случае неудачи.
Функция imap_mailboxmsginfo() проверяет статус текущего почтового ящика на сервере и возвращает информацию в объекте со следующими свойствами:
imap_rfc822_write_address
Возвращает правильно отформатированный email адрес.
Синтаксис:
string imap_rfc822_write_address(string mailbox, string host, string personal);
Возвращает правильно отформатированный email адрес по данному почтовому ящику, хосту и персональной информации.
imap_rfc822_parse_adrlist
Проводит разбор адресной строки.
Синтаксис:
string imap_rfc822_parse_adrlist(string address, string default_host);
Эта функция разбирает адресную строку и для каждого адреса возвращает массив объектов.
Есть 4 типа объектов:
imap_setflag_full
Устанавливает флаги на сообщения.
Синтаксис:
string imap_setflag_full(int stream, string sequence, string flag, string options);
Эта функция застваляет добавить указанный флаг к набору флагов сообщения в указанной последовательности.
options - это битовая маска из ST_UID
Аргументы последовательности содержат UIDы вместо номеров
imap_clearflag_full
Очищает флаги сообщения.
Синтаксис:
string imap_clearflag_full(int stream, string sequence, string flag, string options);
Эта функция заставляет удалить флаги из набора флагов сообщения в указанной последовательности.
options - это битовая маска из ST_UID
Аргументы последовательности содержат UIDы вместо номеров
imap_sort
Сортирует сообщения в текущем почтовом ящике.
Синтаксис:
string imap_sort(int stream, int criteria, int reverse, int options);
Возвращает массив номеров сообщений рассортированных по данному параметру
reverse должен быть равен 1 если нужна сортировка в обратном порядке
Критерии сортировки (должен быть указан только один):
опции - битовая маска из
imap_fetchheader
Возвращает заголовок сообщения.
Синтаксис:
string imap_fetchheader(int imap_stream, int msgno, int flags);
Эта функция заставляет извлечь полный, не отфильтрованный заголовок указанного сообщения в формате RFC 822 как текстовую строку.
Опиции:
imap_uid
Эта функция возвращает UID по данному номеру сообщения в последовательности.
Синтаксис:
string imap_uid(string mailbox, int msgno);
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Доступ через POP3 и IMAP
Доступ через POP3 и IMAP Если вы обожаете собственный почтовый клиент и ни за какие коврижки не променяете его на любые красоты веб-доступа, этот раздел настроек – для вас. Gmail позволяет организовать доступ к своей базе сообщений по протоколам POP3 и IMAP. В последнем случае можно
Глава 11 Получение почты: протоколы POP и IMAP
Глава 11 Получение почты: протоколы POP и IMAP Электронная почта — одна из наиболее популярных служб Internet. Большинство пользователей глобальной сети ежедневно прибегают к ее услугам. С ее помощью можно одинаково просто послать сообщение сотруднику, работающему за соседним
Принцип действия протоколов POP и IMAP
Принцип действия протоколов POP и IMAP В предыдущем разделе были описаны лишь общие принципы доставки почты. Для того чтобы понять работу протокола получения почты, надо более подробно рассмотреть функционирование почтовой системы и вопросы взаимодействия протокола
Обеспечение работы по протоколу IMAP
Обеспечение работы по протоколу IMAP Серверы IMAP инсталлируются и настраиваются практически так же, как и серверы POP. Как было сказано ранее, продукт UW IMAP поставляется с большинством дистрибутивных пакетов Linux, кроме того, в состав некоторых систем включаются и другие
Серверы IMAP для Linux
Серверы IMAP для Linux Многие из пакетов, сведения о которых были приведены в предыдущем разделе, в частности UW IMAP, Cyrus IMAP и Courier, обеспечивают также работу сервера IMAP. В 2002 г. в стадии разработки находился ряд проектов по созданию серверов IMAP, но реально работающий код еще не был
Инсталляция и настройка сервера IMAP
Инсталляция и настройка сервера IMAP В состав большинства версий Linux входит продукт UW IMAP, соответствующий пакет обычно носит имя imap. При инсталляции этого пакета сервер IMAP будет настроен для запуска посредством суперсервера. При работе UW IMAP полагается на результаты
10.16 Функции TCP
10.16 Функции TCP Данная глава посвящена многочисленным функциям TCP. Ниже перечислены основные из них:? Связывание портов с соединениями? Инициализация соединений посредством трехшагового подтверждения? Выполнение медленного старта, исключающего перегрузку
5.3.3. Учебный пример: IMAP, протокол доступа к почтовым сообщениям
5.3.3. Учебный пример: IMAP, протокол доступа к почтовым сообщениям Чтобы завершить рассмотрение примеров с протоколами прикладного уровня Internet, рассмотрим протокол IMAP (Internet Message Access Protocol — протокол доступа к почтовым сообщениям в Internet). IMAP — другой почтовый протокол,
5.3.3. Учебный пример: IMAP, протокол доступа к почтовым сообщениям
5.3.3. Учебный пример: IMAP, протокол доступа к почтовым сообщениям Чтобы завершить рассмотрение примеров с протоколами прикладного уровня Internet, рассмотрим протокол IMAP (Internet Message Access Protocol — протокол доступа к почтовым сообщениям в Internet). IMAP — другой почтовый протокол,
4.5.3. Функции, которые создают новые конфигурации из существующих 4.5.3.1. Функции геометрии, которые производят новые конфигурации
4.5.3. Функции, которые создают новые конфигурации из существующих 4.5.3.1. Функции геометрии, которые производят новые конфигурации Раздел "4.5.2. Функции Geometry" обсуждает несколько функций, которые создают новые конфигурации из
Функции
Функции Excel – серьезная программа для вычислений, одним из главных достоинств которой является множество встроенных функций. Это обширная тема, достойная если не книги, то главы в многотомном руководстве. Рассмотрим ее кратко – ровно настолько, чтобы вы могли далее
Функции
Функции AddAtom Функция AddAtom добавляет строку символов в таблицу локальных атомов и возвращает уникальное значение (атом), идентифицирующее строку. ATOM AddAtom ( LPCTSTR lpString // указатель на добавляемую строку ); Параметры lpString - указатель на добавляемую строку, завершающуюся нулем.