18.9. mimify — 邮件消息的 MIME 处理 — Python 文档
来自菜鸟教程
Python/docs/2.7/library/mimify
18.9. 模仿 — 邮件消息的 MIME 处理
mimify 模块定义了两个函数来将邮件消息与 MIME 格式相互转换。 邮件消息可以是简单消息,也可以是所谓的多部分消息。 每个部分都单独处理。 如果消息包含无法使用 7 位 ASCII 表示的任何字符,则对消息(的一部分)进行简化需要将消息编码为带引号的可打印。 取消消息(的一部分)需要撤消引用的可打印编码。 Mimify 和 unmimify 在发送前必须编辑消息时特别有用。 典型用途是:
unmimify message
edit message
mimify message
send message
这些模块定义了以下用户可调用的函数和用户可设置的变量:
- mimify.mimify(infile, outfile)
- 将 infile 中的消息复制到 outfile,将部分转换为引用打印并在必要时添加 MIME 邮件头。 infile 和 outfile 可以是文件对象(实际上,任何具有 readline() 方法的对象(对于 infile)或 [ X144X] 方法(对于 outfile))或命名文件的字符串。 如果 infile 和 outfile 都是字符串,则它们可能具有相同的值。
- mimify.unmimify(infile, outfile[, decode_base64])
- 将 infile 中的消息复制到 outfile,解码所有引用的可打印部分。 infile 和 outfile 可以是文件对象(实际上,任何具有 readline() 方法的对象(对于 infile)或 [ X144X] 方法(对于 outfile))或命名文件的字符串。 如果 infile 和 outfile 都是字符串,则它们可能具有相同的值。 如果提供 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 部分也将被解码。