Как разобрать winmail.dat с python

Я вытаскиваю электронные письма с вложениями с сервера и помещаю их в папки на основе определенных критериев. Это не проблема для электронных писем, которые были отправлены в обычном текстовом кодировании, но, как мы все знаем, если они были отправлены с расширенным текстом, вложения конвертируются в формат winmail.dat.

Я попытался использовать модуль под названием tnefparse, но мне не повезло, так как я не смог найти в Интернете никакой документации или примеров.

Кто-нибудь может привести несколько примеров того, как читать и конвертировать вложение winmail.dat, используя tnefparse или любой другой модуль Python?

1 ответ

Довольно просто использовать tnefparse из командной строки

Прежде всего, установите его с помощью pip

pip install tnefparse

чтобы извлечь вложение из winmail.dat просто запустите

tnefparse -a winmail.dat

Если вы хотите интегрировать эту библиотеку в код Python, просто возьмите реализацию командной строки tnefparse, которая действительно проста для понимания. В любом случае, вот пример кода, который извлекает все вложения из 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))
Другие вопросы по тегам