我正在努力实现以下目标:
我有一个电子邮件对象(eml),它可以包含多个附件,如zip /images/ txt等。我只想下载一个特定的附件,而不是从这个对象下载所有附件。
我尝试了以下代码:
import email
import mimetypes
import uuid
import os
m = email.message_from_file(open('hello.eml'))
for part in m.walk():
filename = part.get_filename()
print('fileName: ', filename)
if part.get_content_type() == 'multipart/mixed' and not filename:
number_of_attachments = (len(part.get_payload()) - 1)
print('number_of_attachments: ', number_of_attachments)
for attachment in range(number_of_attachments):
tmp_name = str(uuid.uuid4())
fp = open('.' + tmp_name, 'wb')
attachment += 1
fp.write(part.get_payload()[attachment].get_payload(decode=True))
fp.close()
这将提取所有附件。有没有办法只过滤特定的附件并处理它。
任何帮助都非常感谢!
慕尼黑8549860
相关分类