python读取pop3服务器邮件并且下载
2013-10-29 22:31
387 查看
# -*- 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+='\r\n' #写入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+='\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
相关文章推荐
- 翻译学python---《Learn Python the hard Way》---第一章 绪论
- Python Cookbook学习记录 ch3_3/4_2013/10/29
- python 高级编程 一
- python分片
- python 并行处理
- Python2.7.3移除字符串中重复字符(一)
- Python实现FTP上传文件或文件夹(递归)
- Python时间性能测量
- Python Cookbook学习记录 ch3_1/2_2013/10/29
- 安装python包后eclipse里仍然报错的问题解决
- Python Post and Get 登陆web后台系统并抓取页面
- python取得IMAP服务器邮件
- Python初学(三)
- Python初学(二)
- python模块学习-----加密、随机数生成
- python读取pop3服务器邮件并且下载
- python中字符串的一些琐碎方法
- Numpy
- 功能强大而又简单易学的编程语言Python
- Python Post and Get 登陆web后台系统并抓取页面