Документация Python неофициальный перевод
Содержание страницы

18.6. mimetools – Инструменты для разбора MIME-сообщенийmimetools – Tools for parsing MIME messages

Устарело с версии 2.3: Пакет email следует использовать вместо модуля mimetools. Этот модуль присутствует только для поддержания обратной совместимости и был удалён в 3.x.

Этот модуль определяет подкласс класса Message модуля rfc822 и ряд служебных функций, полезных для работы с MIME-сообщениями, состоящими из нескольких частей или закодированными.

Определяются следующие элементы:

class mimetools.Message(fp[, seekable])

Возвращает новый экземпляр класса Message. Это подкласс класса rfc822.Message с некоторыми дополнительными методами (см. ниже). Аргумент seekable имеет то же значение, что и для rfc822.Message.

mimetools.choose_boundary()

Возвращает уникальную строку, которая с высокой вероятностью может быть использована в качестве границы части. Строка имеет вид 'hostipaddr.uid.pid.timestamp.random'.

mimetools.decode(input, output, encoding)

Читает данные, закодированные с использованием разрешённой MIME-кодировки encoding, из открытого файлового объекта input и записывает декодированные данные в открытый файловый объект output. Допустимые значения для encoding включают 'base64', 'quoted-printable', 'uuencode', 'x-uuencode', 'uue', 'x-uue', '7bit' и '8bit'. Декодирование сообщений, закодированных в '7bit' или '8bit', не даёт эффекта. Входные данные просто копируются в выходные.

mimetools.encode(input, output, encoding)

Читает данные из открытого файлового объекта input и записывает их, закодировав с использованием разрешённой MIME-кодировки encoding, в открытый файловый объект output. Допустимые значения для encoding такие же, как для decode().

mimetools.copyliteral(input, output)

Читает строки из открытого файла input до конца файла и записывает их в открытый файл output.

mimetools.copybinary(input, output)

Читает блоки до конца файла из открытого файла input и записывает их в открытый файл output. Размер блока в настоящее время фиксирован и равен 8192.

См. также

Модуль email

Комплексный пакет для работы с электронной почтой; заменяет модуль mimetools.

Модуль rfc822

Предоставляет базовый класс для mimetools.Message.

Модуль multifile

Поддержка чтения файлов, содержащих отдельные части, например, MIME-данные.

http://faqs.cs.uu.nl/na-dir/mail/mime-faq/.html

Документ с часто задаваемыми вопросами по MIME. Обзор MIME см. в ответе на вопрос 1.1 в части 1 этого документа.

18.6.1. Дополнительные методы объектов MessageAdditional Methods of Message Objects

Класс Message определяет следующие методы в дополнение к методам rfc822.Message:

Message.getplist()

Возвращает список параметров заголовка Content-Type. Это список строк. Для параметров вида key=value, key преобразуется в нижний регистр, а value – нет. Например, если сообщение содержит заголовок Content-type: text/html; spam=1; Spam=2; Spam, то getplist() вернёт список Python ['spam=1', 'spam=2', 'Spam'].

Message.getparam(name)

Возвращает value первого параметра (возвращаемого функцией getplist()) вида name=value для заданного name. Если value окружён кавычками вида '<>' или '""', они удаляются.

Message.getencoding()

Возвращает кодировку, указанную в заголовке сообщения Content-Transfer-Encoding. Если такого заголовка нет, возвращает '7bit'. Кодировка преобразуется в нижний регистр.

Message.gettype()

Возвращает тип сообщения (вида type/subtype), указанный в заголовке Content-Type. Если такого заголовка нет, возвращает 'text/plain'. Тип преобразуется в нижний регистр.

Message.getmaintype()

Возвращает основной тип, указанный в заголовке Content-Type. Если такого заголовка нет, возвращает 'text'. Основной тип преобразуется в нижний регистр.

Message.getsubtype()

Возвращает подтип, указанный в заголовке Content-Type. Если такого заголовка нет, возвращает 'plain'. Подтип преобразуется в нижний регистр.