Личный кабинет    
Назад К началу Вперед Карта сайта Телефонные коды стран и городов Мира Анализатор тарифов Служб IP-Телефонии и Рейтинг

Разделы
Введение
Литература
Операторы
Оборудование
Анализатор
Сотрудничество
Печать карт
Новости
Опросник
Коды
Справка
Работа
Каталог
Хостинг
Личный кабинет

Реклама

Perl для IP-Телефонии (27 – Обработка почты, часть 11)

предыдущая часть ««»» следующая часть

8) Подпрограмма display_entity (). Эта подпрограмма обеспечивает отобра­жение объекта mime::Entity. Она вызывается рекурсивно для обработки объекта верхнего уровня и каждой из его частей (подчастей и т.д.).  Выполнение подпрограммы начинается с выборки почтового заголовка сообщения в виде объекта MIME::Head. Если заголовок содержит поле From:, то можно сделать вывод, что это - объект верхнего уровня. Осуществляется вывод заголовка, чтобы пользователь мог видеть имя отправителя и другие поля.

Затем выполняется проверка того, является ли объект многокомпонентным, путем вызова его метода is_multipart(). Если этот метод возвращает истинное значение, то вызывается подпрограмма handle_multipart() для выдачи пользователю запроса о способе обработки каждой из подчастей. В ином случае вызывается подпрограмма display_part () для отобра­жения содержимого компонента.

9) Подпрограмма handle_jnultipart (). Данная подпрограмма открывает в цикле каждую часть многокомпонентного объекта mime::Entity и выполняет ее обработку. Подпро­грамма начинается с вызова метода parts() объекта для выборки каждой из его подчастей в виде объекта MIME::Entity. Затем дважды вызывается встроенная функция grep() языка Perl для классификации частей на те, которые можно отображать непосредственно, и те, которые должны рассматриваться как вложения, для отображения которых необходимо использовать внешнее приложение. Поскольку известно, что непосредственно отобразить можно только про­стой текст, классификация проводится по типу text /plain формата MIME.

Для каждой части типа text/plain вызывается подпрограмма display_part (), которая вы­водит тело сообщения на экран. Если же в состав объекта входят нетекстовые вложения, пользователю выдается запрос дать разрешение на их отображение, и в случае положитель­ного ответа рекурсивно вызывается подпрограмма display_entity() для каждого вложения. Поскольку подпрограмма display_entity() вызывается рекурсивно, вложения сами могут представлять собой многокомпонентные сообщения, такие как перенаправленные письма.



2014-02-09 14:35:09

предыдущая часть ««»» следующая часть


ДОКУМЕНТАЦИЯ VoIP


НОВОСТИ СВЯЗИ


РЕКОМЕНДУЕМ

 
[ стандарты | обзор | оборудование | анализатор | коды | новости | карта | партнерам | Мы ВКонтаке ]
Запрещается копировать материалы сайта без уведомления авторов.
С вопросами и предложениями обращайтесь со страницы контактов
Copyright c 1999-2024 IPTop.Net
 
IP-Телефония, Интернет Телефония, Компьютерная телефония