email.header
:国际化头
¶
源代码: Lib/email/header.py
此模块属于传统 (
Compat32
) 电子邮件 API。在当前 API 中,头编码/解码的透明处理是通过像字典 API 的
EmailMessage
类。除用于传统代码外,此模块在需要完全控制使用字符集 (当编码头时) 的应用程序中也很有用。
本节其余文本是模块的原始文档编制。
RFC 2822 是描述 Email 消息格式的基标准。派生自旧 RFC 822 标准曾被广泛使用,当大多数 Email 仅以 ASCII 字符组成时。 RFC 2822 是假定 Email 仅包含 7 位 ASCII 字符而编写的规范。
当然,随着 Email 全世界部署,它已变得国际化,这样,特定语言字符集现在可以在 Email 消息中使用。基标准仍然要求仅使用 7 位 ASCII 字符传输 Email 消息,因此,已编写大量 RFC 描述如何将包含非 ASCII 字符的 Email 编码成
RFC 2822
兼容格式。这些 RFC 包括
RFC 2045
,
RFC 2046
,
RFC 2047
,和
RFC 2231
。
email
包支持这些标准在其
email.header
and
email.charset
模块。
若想要在 Email 头中包括非 ASCII 字符,请在
Subject
or
到
字段,应该使用
Header
类和赋值字段在
Message
对象到实例化的
Header
而不是使用字符串对于头值。导入
Header
类从
email.header
模块。例如:
>>> from email.message import Message >>> from email.header import Header >>> msg = Message() >>> h = Header('p\xf6stal', 'iso-8859-1') >>> msg['Subject'] = h >>> msg.as_string() 'Subject: =?iso-8859-1?q?p=F6stal?=\n\n'