zoukankan      html  css  js  c++  java
  • python 利用imap接收邮件,并保存附件

    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()

  • 相关阅读:
    GOF23设计模式汇总
    获取表单提交MVC错误信息
    Spring.Net
    简单工厂、工厂方法和抽象工厂
    Json和JsonP
    mysql8无法用navicat连接(mysql8加密方式的坑)
    (4.16)mysql备份还原——物理备份之XtraBackup实践
    mysql如何下载历史版本?
    如何测试端口通不通(四种方法)
    linux移动复制删除命令
  • 原文地址:https://www.cnblogs.com/maseng/p/3491127.html
Copyright © 2011-2022 走看看