18.9. mimify — 邮件消息的 MIME 处理 — Python 文档

来自菜鸟教程
Python/docs/2.7/library/mimify
跳转至:导航、​搜索

18.9. 模仿 — 邮件消息的 MIME 处理

自 2.3 版起已弃用:email 包应优先于 mimify 模块使用。 该模块的存在只是为了保持向后兼容性。


mimify 模块定义了两个函数来将邮件消息与 MIME 格式相互转换。 邮件消息可以是简单消息,也可以是所谓的多部分消息。 每个部分都单独处理。 如果消息包含无法使用 7 位 ASCII 表示的任何字符,则对消息(的一部分)进行简化需要将消息编码为带引号的可打印。 取消消息(的一部分)需要撤消引用的可打印编码。 Mimify 和 unmimify 在发送前必须编辑消息时特别有用。 典型用途是:

unmimify message
edit message
mimify message
send message

这些模块定义了以下用户可调用的函数和用户可设置的变量:

mimify.mimify(infile, outfile)
infile 中的消息复制到 outfile,将部分转换为引用打印并在必要时添加 MIME 邮件头。 infileoutfile 可以是文件对象(实际上,任何具有 readline() 方法的对象(对于 infile)或 [ X144X] 方法(对于 outfile))或命名文件的字符串。 如果 infileoutfile 都是字符串,则它们可能具有相同的值。
mimify.unmimify(infile, outfile[, decode_base64])
infile 中的消息复制到 outfile,解码所有引用的可打印部分。 infileoutfile 可以是文件对象(实际上,任何具有 readline() 方法的对象(对于 infile)或 [ X144X] 方法(对于 outfile))或命名文件的字符串。 如果 infileoutfile 都是字符串,则它们可能具有相同的值。 如果提供 decode_base64 参数并测试为真,则任何以 base64 编码进行编码的部分也将被解码。
mimify.mime_decode_header(line)
返回 中编码标题行的解码版本。 这仅支持 ISO 8859-1 字符集 (Latin-1)。
mimify.mime_encode_header(line)
返回 中标题行的 MIME 编码版本。
mimify.MAXLEN
默认情况下,当一个部分包含任何非 ASCII 字符(设置了第 8 位的字符),或者如果有任何行长于 MAXLEN 字符(默认值 200)时,该部分将被编码为带引号的可打印.
mimify.CHARSET
如果邮件标题中未指定,则必须填写字符集。 使用的字符串存储在CHARSET中,默认值为ISO-8859-1(也称为Latin1(拉丁一))。

该模块也可以从命令行使用。 用法如下:

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

分别编码(mimify)和解码(unmimify)。 infile 默认为标准输入,outfile 默认为标准输出。 可以为输入和输出指定相同的文件。

如果在编码时给出了-l选项,如果有任何行长于指定的length,则包含部分将被编码。

如果在解码时给出 -b 选项,则任何 base64 部分也将被解码。

也可以看看

模块 quopri
编码和解码 MIME 引用的可打印文件。