18.8. MimeWriter —通用 MIME 文件编写器

从版本 2.3 开始不推荐使用:email软件包应优先于MimeWriter模块使用。仅提供此模块是为了保持向后兼容性。

此模块定义类MimeWriterMimeWriter类实现了用于创建 MIMEMultipart 文件的基本格式化程序。它不寻找输出文件,也不使用大量的缓冲区空间。您必须按照 Component 在finally文件中出现的 Sequences 写出 Component。 MimeWriter确实会缓冲添加的标题,使您可以重新排列它们的 Sequences。

  • 类别 MimeWriter. MimeWriter(* fp *)
    • 返回MimeWriter类的新实例。传递的唯一参数* fp *是用于写入的文件对象。注意,也可以使用StringIO对象。

18.8.1. MimeWriter 对象

MimeWriter个实例具有以下方法:

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

    • 在 MIME 消息中添加标题行。 * key 是标题的名称,其中 value 显然提供了标题的值。可选参数 prefix *确定标题插入位置; 0表示在末尾追加,1表示在末尾插入。默认为追加。
  • MimeWriter. flushheaders ( )

    • 导致到目前为止累积的所有 Headers 都被写出(并被遗忘)。如果您根本不需要身体部位,例如。对于* message/rfc822 *类型的子部分,该子部分用于(错误地)存储一些类似于标题的信息。
  • MimeWriter. startbody(* ctype * [,* plist * [,前缀]])

    • 返回类似文件的对象,该对象可用于写入消息的正文。 content-type 设置为提供的* ctype ,可选参数 plist *为 content-type 语句提供其他参数。 * prefix *的作用与addheader()相同,不同之处在于默认值是在开头插入。
  • MimeWriter. startmultipartbody(* subtype * [,* boundary * [,* plist * [,* prefix *]]])

    • 返回类似文件的对象,该对象可用于写入消息的正文。此外,此方法将初始化 Multipart 代码,其中* subtype 提供了 Multipart 子类型, boundary 提供了用户定义的边界说明, plist *提供了该子类型的可选参数。 前缀的作用与startbody()相同。子 Component 应使用nextpart()创建。
  • MimeWriter. nextpart ( )

    • 返回MimeWriter的新实例,该实例代表 Multipart 消息中的单个部分。这可用于编写 Component 以及用于创建递归复杂的 Multipart 消息。必须先使用startmultipartbody()初始化该消息,然后才能使用nextpart()
  • MimeWriter. lastpart ( )

    • 它用于指定 Multipart 消息的最后部分,并且在编写 Multipart 消息时应始终使用*。