我想在python中使用邮箱库从mbox中提取电子邮件附件。
我使用以下代码提取From,To,Subject,Date,Body
import mailbox
mbox = mailbox.mbox('/tmp/Personal Folders/Inbox/mbox')
for message in mbox:
print message['subject']
print message['To']
print message['From']
print message['Date']
如何在每封邮件中查找和提取附件?我是否还需要包含更多库?
答案 0 :(得分:3)
以下python函数以原生格式提取查找和提取附件:)不要忘记包含
导入邮箱
def extractattachements(message):
if message.get_content_maintype() == 'multipart':
for part in message.walk():
if part.get_content_maintype() == 'multipart': continue
if part.get('Content-Disposition') is None: continue
filename = part.get_filename()
print filename
fb = open(filename,'wb')
fb.write(part.get_payload(decode=True))
fb.close()
答案 1 :(得分:0)
使用get_payload()
方法(https://docs.python.org/2/library/email.message.html#email.message.Message.get_payload)。
返回当前有效负载,它将是Message对象的列表 当is_multipart()为True时,或者当is_multipart()为False时为字符串。
例如:
print message.get_payload()