def SaveAttachImap():# login the imap server ,retrive the new mails ,and download the attachments.
M = imaplib.IMAP4(mail_host,mail_port)
#print M
M.login(mail_user,mail_pass)
M.select('INBOX',False)
#result, message = M.select('INBOX',False)
typ, data = M.search(None, 'UNSEEN')
print data
for num in string.split(data[0]):
try:
typ, data = M.fetch(num, '(RFC822)')
#print data
msg = email.message_from_string(data[0][1])
for par in msg.walk():
#if not par.is_multipart():
name = par.get_filename()
print 'name',name
#name2 = par.get_filename()
#print 'name2',name2
if name:
dstdir =dirname+name
print 'dirname',dstdir
#print 'name',name
data = par.get_payload(decode=True)
#print dstdir
try:
f = open(dstdir, 'wb') #注意一定要用wb来打开文件,因为附件一般都是二进制文件
print 'save attfile %s succeed'%dstdir
except:
print 'open file name error'
f.write(data)
f.close()
#print "_______________________________"
except Exception,e:
print 'got msg error: %s' % e
M.close()
M.logout()
相关文章:
- 一步一步从原理跟我学邮件收取及发送 2.邮箱的登录和base64 2021-12-13
- 如何保证消费者接收消息的顺序 2018-01-11
- C#中RichEdit控件,保存文本和图片到mysql数据库 2017-11-22
- 自动化之路 python psutil模块 收集硬件信息 2017-11-22
- sublime自动保存(失去焦点自动保存) 2018-01-10
- Asp.Net Core MailKit 完美附件(中文名、长文件名) 2018-01-23
- java 邮件发送的公共方法 2017-12-18
- JS组件系列——Gojs组件,前端图形化插件之利器 2017-11-29