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

  • 相关阅读:
    SP是什么?CP是什么?SP与CP有什么区别?
    SP与CP将走向互补融合
    SP与CP分工
    Asynchronous Socket 顺序
    Asynchronous Client Socket Example
    Synchronous Server Socket Example
    web应用程序根目录
    简单socket服务(一)
    Asynchronous Server Socket Example
    Socket连接不上的问题
  • 原文地址:https://www.cnblogs.com/maseng/p/3491127.html
Copyright © 2011-2022 走看看