email.message
:表示 Email 消息
¶
源代码: Lib/email/message.py
Added in version 3.6: [ 1 ]
中心类在
email
包是
EmailMessage
类,导入自
email.message
模块。它是基类对于
email
对象模型。
EmailMessage
提供设置和查询 Header 头字段、访问消息本体、创建或修改结构化消息的核心功能。
Email 包含 headers 和 payload (也称为 content )。Header 头是 RFC 5322 or RFC 6532 样式的字段名称和值,其中字段名称和值由冒号分隔。冒号不属于字段名称或字段值。负载可以是简单文本消息、二进制对象、或结构化的子消息序列 (每个子消息有自己的一组头和负载)。后一种类型的负载由拥有 MIME (多用途 Internet 邮件扩展) 类型的消息指示,譬如 multipart/* or message/rfc822 .
概念模型的提供通过
EmailMessage
对象,它是有序 Header 头字典耦合
payload
表示
RFC 5322
本体对于消息,可能是列表的子
EmailMessage
对象。除用于访问 Header 头名称和值的正常字典方法外,还有一些方法从头访问专门信息 (例如 MIME 内容类型)、操作负载、生成消息的序列化版本及递归遍历对象树。
The
EmailMessage
dictionary-like interface is indexed by the header names, which must be ASCII values. The values of the dictionary are strings with some extra methods. Headers are stored and returned in case-preserving form, but field names are matched case-insensitively. The keys are ordered, but unlike a real dict, there can be duplicates. Additional methods are provided for working with headers that have duplicate keys.
The
payload
是字符串或字节对象 (在简单消息对象情况下) 或列表的
EmailMessage
对象对于 MIME 容器文档,譬如
multipart/*
and
message/rfc822
消息对象。
- class email.message. EmailMessage ( policy = default ) ¶
-
若 policy 有指定,使用它指定的规则来更新和序列化消息表示。若 policy 未设置,使用
default策略,遵循电子邮件 RFC 规则,除了行结束 (而不是 RFC 规定的\r\n,它使用 Python 标准\n行结束)。更多信息见policy文档编制。- as_string ( unixfrom = False , maxheaderlen = None , policy = None ) ¶
-
返回扁平化成字符串的整个消息。当可选 unixfrom 为 True,信封头包括在返回字符串中。 unixfrom 默认为
False。为向后兼容基Messageclass maxheaderlen 被接受,但默认为None,意味着默认情况下,控制行长度通过max_line_length的策略。 policy 自变量可用于覆盖从消息实例获得的默认策略。这可用于控制通过方法产生的某些格式化,由于指定 policy 会被传递给Generator.扁平化消息可能触发改变
EmailMessage若默认需要填充以完成字符串转换 (例如,可以生成或修改 MIME 边界)。注意,提供此方法是为了方便,且可能不是在应用程序中序列化消息的最有用方式,尤其是处理多条消息。见
email.generator.Generator了解用于序列化消息的更灵活 API。另请注意,此方法被限定到产生 7 bit clean 序列化消息当utf8isFalse,默认。3.6 版改变: 默认行为当 maxheaderlen 未指定时从默认为 0 改为默认为值 max_line_length 从策略。