如何使用python解析winmail.dat

时间:2014-08-27 18:43:23

标签: python tnef winmail.dat

我将带有附件的电子邮件从服务器上拉出来并根据特定条件将其放入文件夹中。对于使用纯文本编码发送的电子邮件,这没有问题,但是我们都知道如果它们是使用富文本发送的,那么附件将转换为winmail.dat格式。

我尝试使用名为tnefparse的模块,但由于我无法在线找到任何文档或示例,因此没有运气。

有人可以提供一些关于如何使用tnefparse或任何其他Python模块读取和转换winmail.dat附件的示例吗?

1 个答案:

答案 0 :(得分:2)

从命令行使用tnefparse很容易

首先使用pip安装它

pip install tnefparse

从winmail.dat中提取附件即可运行

tnefparse -a winmail.dat

如果您想将此库集成到Python代码中,只需使用tnefparse command line implementation,这真的很容易理解。无论如何,这是一段示例代码,该示例代码将winmail.dat中的所有附件提取到当前工作目录中:

import sys
from tnefparse.tnef import TNEF, TNEFAttachment, TNEFObject
from tnefparse.mapi import TNEFMAPI_Attribute
t = TNEF(open("winmail.dat").read(), do_checksum=True)
for a in t.attachments:
    with open(a.name, "wb") as afp:
        afp.write(a.data)
sys.exit("Successfully wrote %i files" % len(t.attachments))