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

18.9. mimify – обработка MIME почтовых сообщенийmimify – MIME processing of mail messages

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

Модуль mimify определяет две функции для преобразования почтовых сообщений в формат MIME и обратно. Почтовое сообщение может быть как простым, так и так называемым многокомпонентным (multipart). Каждая часть обрабатывается отдельно. Мимификация (части) сообщения подразумевает кодирование сообщения в quoted-printable, если оно содержит символы, которые нельзя представить с помощью 7-битной ASCII. Де-мимификация (части) сообщения подразумевает отмену кодирования quoted-printable. Мимификация и де-мимификация особенно полезны, когда сообщение необходимо отредактировать перед отправкой. Типичный вариант использования:

unmimify message
edit message
mimify message
send message

Модуль определяет следующие вызываемые пользователем функции и настраиваемые переменные:

mimify.mimify(infile, outfile)

Копирует сообщение из infile в outfile, преобразуя части в quoted-printable и при необходимости добавляя заголовки MIME. infile и outfile могут быть файловыми объектами (точнее, любыми объектами, имеющими метод readline() (для infile) или метод write() (для outfile)) или строками с именами файлов. Если и infile, и outfile являются строками, они могут совпадать.

mimify.unmimify(infile, outfile[, decode_base64])

Копирует сообщение из infile в outfile, декодируя все части в quoted-printable. infile и outfile могут быть файловыми объектами (точнее, любыми объектами, имеющими метод readline() (для infile) или метод write() (для outfile)) или строками с именами файлов. Если и infile, и outfile являются строками, они могут совпадать. Если аргумент decode_base64 указан и равен true, то все части, закодированные в base64, также декодируются.

mimify.mime_decode_header(line)

Возвращает декодированную версию закодированной строки заголовка line. Поддерживается только кодировка ISO 8859-1 (Latin-1).

mimify.mime_encode_header(line)

Возвращает MIME-закодированную версию строки заголовка line.

mimify.MAXLEN

По умолчанию часть будет закодирована как quoted-printable, если она содержит любые не-ASCII символы (символы с установленным 8-м битом) или если есть строки длиннее MAXLEN символов (значение по умолчанию – 200).

mimify.CHARSET

Если набор символов не указан в заголовках письма, он должен быть задан. Используемая строка хранится в CHARSET, значение по умолчанию – ISO-8859-1 (также известный как Latin1 (latin-one)).

Этот модуль также можно использовать из командной строки. Использование:

mimify.py -e [-l length] [infile [outfile]]
mimify.py -d [-b] [infile [outfile]]

для кодирования (mimify) и декодирования (unmimify) соответственно. По умолчанию infile – стандартный ввод, а outfile – стандартный вывод. Для ввода и вывода можно указать один и тот же файл.

Если при кодировании указан параметр -l, то при наличии строк длиннее указанного length содержащая их часть будет закодирована.

Если при декодировании указан параметр -b, то все части base64 также будут декодированы.

См. также

Модуль quopri

Кодирование и декодирование MIME-файлов в формате quoted-printable.