我可能会因为这个问题太宽泛而受到抨击,但无论如何我会问我还能做什么?挖掘Python源代码肯定会给我足够的"努力"点来保证帮助我?
我正在尝试使用Python 3.4的新电子邮件内容管理器http://docs.python.org/dev/library/email.contentmanager.html#content-manager-instances
我的理解是,这应该允许我阅读电子邮件消息,然后能够以UTF-8的形式访问所有电子邮件头字段和正文,而无需经历从任何奇怪的编码解码回干净的UTF-8的痛苦过程.据我所知,还处理日期标题和电子邮件地址标题的解析.通常,在Python中阅读电子邮件更容易.好东西,非常有趣.
但是我是一名初学程序员 - 目前的文档中没有关于如何从头开始的例子.我需要一个简单的示例,说明如何阅读电子邮件文件并使用新的电子邮件内容管理器,回读标题字段,地址字段和正文/
我已经深入研究了python 3.4源代码并查看了电子邮件内容管理器的测试.我承认自己已经足够混乱,以至于我太困惑了,无法从测试中收集足够多来开始编写我自己的简单例子.
那么,是否有人愿意帮助一个简单的例子来说明如何使用Python 3.4电子邮件内容管理器来读取电子邮件的标题字段和正文和地址字段?
谢谢
首先:电子邮件中的 \xe2\x80\x9c 地址字段 \xe2\x80\x9d 实际上只是标题,其名称已在标准中达成一致,例如To
和From
。因此,您只需要电子邮件标题和正文即可。
给定一个现代contentmanager
支持的实例(例如 Python 3.4),如果您在读取电子邮件时EmailMessage
指定策略(例如),您可以通过将其视为 Python 字典来访问其自动解码的标头,并通过调用访问其主体。这是我编写的示例脚本,它以安全且标准的方式执行这两种操作:default
get_body()
https://github.com/brandon-rhodes/fopnp/blob/m/py3/chapter12/display_email.py
\n\n在幕后,该策略真正负责标头和内容 \xe2\x80\x94 发生的情况,该策略default
自动使标头服从 中的编码和解码函数email.utils
,并将内容服从您询问的逻辑代替contentmanager
。
但作为调用者,您通常不需要了解幕后的魔法,因为标头将 \xe2\x80\x9c 正常工作\xe2\x80\x9d,并且可以通过上面脚本中所示的方法轻松访问内容。
\n 归档时间: |
|
查看次数: |
916 次 |
最近记录: |