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.