python读取msg文件_如何从msg文件中提取附件

imap_host = 'imap.gmail.com'

mail = imaplib.IMAP4_SSL(imap_host)

mail.login(user,passw)

mail.select("Inbox")

mail = get_unseen(mail)

result, data = mail.uid('search', None, 'UNSEEN')

uid_list = data[0].split()

print len(uid_list), 'Unseen emails.'

for i in range(len(uid_list)):

email_uid = uid_list[i]

res, dat = mail.uid('fetch', email_uid, '(RFC822)')

raw_email = dat[0][1]

msg = email.message_from_string(raw_email)

print ''

print 'New email:\n'

print i,'UID:', email_uid, 'Sender:', email.utils.parseaddr(msg['From'])[0],email.utils.parseaddr(msg['From'])[1]

print 'Subjct:',msg['Subject']

print 'Message: '

print get_body(msg)

attach_list = get_attach_list(msg)

print len(attach_list),'Attachments:',attach_list

get_attach(msg)

def get_body(msg):

for part in msg.walk():

content_type = part.get_content_type()

if content_type == 'text/plain' or content_type =='text/html':

payload = part.get_payload(decode=True)

if payload:

print payload

return

def get_attach_list(msg):

attach_list=[]

for part in msg.walk():

filename = part.get_filename()

if filename:

attach_list.append(filename)

return attach_list

def get_attach(msg):

for part in msg.walk():

filename = part.get_filename()

if filename:

fp = open(filename,'wb')

fp.write(part.get_payload(decode=True))

fp.close()

return

所以,基本上您要做的就是遍历整个邮件,查找附件,然后使用get_payload()下载附件。在

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值