• python读取pop3服务器邮件并且下载


    # -*- coding: cp936 -*-
    import poplib
    import random
    import os
    
    
    def getmail():
        
        # 蒋辉文拥有该程序权利  你可以随意使用
        emailServer = poplib.POP3('pop.163.com')  
        emailServer.user('xxxxxxxxxxxxxx')  
        emailServer.pass_('xxxxxxxxxxxxxx')  
        # 设置为1,可查看向pop3服务器提交了什么命令  
        #emailServer.set_debuglevel(1)  
          
        # 获取欢迎消息  
        serverWelcome = emailServer.getwelcome()  
        #print serverWelcome  
          
        # 获取一些统计信息  
        emailMsgNum, emailSize = emailServer.stat()  
        #print 'email number is %d and size is %d'%(emailMsgNum, emailSize)  
    
        #判断没有文件夹,则创建目标文件夹
        if not os.path.exists("POP3"):
            print "分析到目录没有POP3文件夹,程序正在自动创建......."
            os.mkdir("POP3")
            
        # 遍历邮件,并打印出每封邮件的标题   
        for i in range(emailMsgNum):
            #生成目标文件
            name="POP3\pop3mail_"+str(random.randint(1,100000000))+".eml";
            file_object = open(name,'w')
            content=''
            for piece in emailServer.retr(i+1)[1]:
                content+=piece
                content+='
    '
             #写入eml
            file_object.write(str(content))
            file_object.close( )     
        emailServer.quit()  
    print "正在下载邮件....请耐心等待....."
    getmail()
    print "....下载完成....."
    

    错误检测(增加了异常检测模块)

    # -*- coding: cp936 -*-
    import poplib
    import random
    import os
    
    
    def getmail():
        
        # 蒋辉文拥有该程序权利  你可以随意使用
        try:  
            emailServer = poplib.POP3('pop.163.com')  
            emailServer.user('xxxxxxxx')  
            emailServer.pass_('xxxxxxx')  
            # 设置为1,可查看向pop3服务器提交了什么命令  
            #emailServer.set_debuglevel(1)  
            # 获取欢迎消息  
            serverWelcome = emailServer.getwelcome()  
              
            # 获取一些统计信息  
            emailMsgNum, emailSize = emailServer.stat()  
    
            #判断没有文件夹,则创建目标文件夹
            if not os.path.exists("POP3"):
                print "分析到目录没有POP3文件夹,程序正在自动创建......."
                os.mkdir("POP3")
    
            print "正在下载邮件...."
            # 遍历邮件,并打印出每封邮件的标题   
            for i in range(emailMsgNum):
                #生成目标文件
                name="POP3\pop3mail_"+str(random.randint(1,100000000))+".eml";
                file_object = open(name,'w')
                content=''
                for piece in emailServer.retr(i+1)[1]:
                    content+=piece
                    content+='
    '
                 #写入eml
                file_object.write(str(content))
                file_object.close( )     
            emailServer.quit()
    
            #程序执行成功
            print "....下载完成....."
            
        except poplib.error_proto,e:
            print "用户名或密码错误!请重新输入"
    print "正在下载邮件....请耐心等待....."
    getmail()
    
    



     

    这个是本人在开发公司的一个项目中的一部分,觉得还不错,就贴出来供大家使用

    程序从pop3服务器中下载邮件到程序当前目录下的POP3文件夹,如果不存在POP3文件夹,程序自动创建。

    需要提供POP3协议的服务器IP,用户名(即完整邮箱地址),密码

    经过PYTHON2.7测试成功。

    有问题加QQ2586900741

  • 相关阅读:
    Google提出的新型激活函数:Swish
    Rosonblatt线性感知器
    Rosonblatt线性感知器
    毕业的到来
    陌生人
    学会感恩
    session和el表达式
    cooking和session
    不離不棄
    生活
  • 原文地址:https://www.cnblogs.com/riskyer/p/3395505.html
Copyright © 2020-2023  润新知