Я пытаюсь извлечь вложения из MSG-файлов, используя следующий код, как предложено здесь .Ниже приведена лишь часть кода, чтобы проверить, читаются ли вложения
import email
with open('input/message.msg', 'rb') as fp:
msg = email.message_from_binary_file(fp)
for part in msg.walk():
print(part.get_content_type())
print(part.get_filename())
print(part.get_content_maintype())
. Я ожидаю, что некоторые из этих операторов print
будут выводить что-то похожее на image/png
, но даже если это сообщение электронной почтыимеет множество вложений, вывод просто
text/plain
None
text
Есть ли у вас какие-либо намеки на то, что я делаю неправильно?Я работаю на машине Linux с python 3.7.3.
Спасибо
Редактировать
Я не слишком много исследовал, но закончилИспользование модуля Python msg-extractor , который, используя следующий код, работает без проблем
import extract_msg
msg = extract_msg.Message("input/email.msg")
for msg in msg.attachments:
print(msg.save())
Класс присоединения со всеми доступными методами реализован здесь Мне просто нужно было хранить вложения.Я буду держать вопрос открытым, надеясь на более актуальный ответ.