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

来源:互联网 发布:经纬度定位软件哪个好 编辑:程序博客网 时间:2024/06/05 07:00
# -*- coding: cp936 -*-import poplibimport randomimport osdef 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+='\r\n'         #写入eml        file_object.write(str(content))        file_object.close( )         emailServer.quit()  print "正在下载邮件....请耐心等待....."getmail()print "....下载完成....."

 

 

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

# -*- coding: cp936 -*-import poplibimport randomimport osdef 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+='\r\n'             #写入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

原创粉丝点击