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

18.8. MimeWriter – Универсальный модуль записи MIME-файловMimeWriter – Generic MIME file writer

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

Этот модуль определяет класс MimeWriter. Класс MimeWriter реализует базовый форматировщик для создания многочастных MIME-файлов. Он не перемещается по выходному файлу и не использует большие объёмы буферной памяти. Части должны записываться в том порядке, в котором они должны находиться в итоговом файле. MimeWriter буферизует добавляемые заголовки, что позволяет переставлять их порядок.

class MimeWriter.MimeWriter(fp)

Возвращает новый экземпляр класса MimeWriter. Единственный передаваемый аргумент, fp, – это файловый объект для записи. Обратите внимание, что вместо него можно также использовать объект StringIO.

18.8.1. Объекты MimeWriterMimeWriter Objects

Экземпляры MimeWriter имеют следующие методы:

MimeWriter.addheader(key, value[, prefix])

Добавляет строку заголовка в MIME-сообщение. Параметр key – это имя заголовка, а value, очевидно, задаёт значение заголовка. Необязательный аргумент prefix определяет, куда вставляется заголовок; 0 означает добавление в конец, 1 – вставку в начало. По умолчанию заголовок добавляется в конец.

MimeWriter.flushheaders()

Записывает (и забывает) все накопленные на данный момент заголовки. Это полезно, если тело части не требуется вовсе, например, для подчасти типа message/rfc822, которая (не по назначению) используется для хранения некоторой информации, похожей на заголовки.

MimeWriter.startbody(ctype[, plist[, prefix]])

Возвращает файлоподобный объект, который можно использовать для записи тела сообщения. Тип содержимого устанавливается в указанный ctype, а необязательный параметр plist предоставляет дополнительные параметры для объявления типа содержимого. prefix работает как в addheader(), за исключением того, что по умолчанию вставка производится в начало.

MimeWriter.startmultipartbody(subtype[, boundary[, plist[, prefix]]])

Возвращает файлоподобный объект, который можно использовать для записи тела сообщения. Кроме того, этот метод инициализирует многочастный код, где subtype задаёт подтип multipart, boundary может содержать заданную пользователем спецификацию границы, а plist предоставляет необязательные параметры для подтипа. prefix работает как в startbody(). Подчасти следует создавать с помощью nextpart().

MimeWriter.nextpart()

Возвращает новый экземпляр MimeWriter, представляющий отдельную часть в многочастном сообщении. Его можно использовать для записи части, а также для создания рекурсивно сложных многочастных сообщений. Перед использованием nextpart() сообщение должно быть инициализировано с помощью startmultipartbody().

MimeWriter.lastpart()

Используется для обозначения последней части многочастного сообщения, и его следует всегда использовать при записи многочастных сообщений.