本文实例讲述了Python实现读取邮箱中的邮件功能。分享给大家供大家参考,具体如下:
#-*- encoding: utf-8 -*-
import sys
import locale
import poplib
from email import parser
import email
import string
# 确定运行环境的encoding
__g_codeset = sys.getdefaultencoding()
if "ascii"==__g_codeset:
__g_codeset = locale.getdefaultlocale()[1]
#
def object2double(obj):
if(obj==None or obj==""):
return 0
else:
return float(obj)
#end if
#
def utf8_to_mbs(s):
return s.decode("utf-8").encode(__g_codeset)
#
def mbs_to_utf8(s):
return s.decode(__g_codeset).encode("utf-8")
#
host = 'pop.exmail.qq.com'
username = 'user1@xxxx.cn'
password = 'password'
pop_conn = poplib.POP3_SSL(host)
pop_conn.user(username)
pop_conn.pass_(password)
#Get messages from server:
# 获得邮件
messages = [pop_conn.retr(i) for i in range(1, len(pop_conn.list()[1]) + 1)]
#print messages
#print "--------------------------------------------------"
# Concat message pieces:
messages = ["\n".join(mssg[1]) for mssg in messages]
#print messages
#Parse message intom an email object:
# 分析
messages = [parser.Parser().parsestr(mssg) for mssg in messages]
i = 0
for index in range(0,len(messages)):
message = messages[index];
i = i + 1;
subject = message.get('subject')
h = email.Header.Header(subject)
dh = email.Header.decode_header(h)
subject = unicode(dh[0][0], dh[0][1]).encode('utf8')
mailName = "mail%d.%s" % (i, subject)
f = open('%d.log'%(i), 'w');
print >> f, "Date: ", message["Date"]
print >> f, "From: ", email.utils.parseaddr(message.get('from'))[1]
print >> f, "To: ", email.utils.parseaddr(message.get('to'))[1]
print >> f, "Subject: ", subject
print >> f, "Data: "
j = 0
for part in message.walk():
j = j + 1
fileName = part.get_filename()
contentType = part.get_content_type()
mycode=part.get_content_charset();
# 保存附件
if fileName:
data = part.get_payload(decode=True)
h = email.Header.Header(fileName)
dh = email.Header.decode_header(h)
fname = dh[0][0]
encodeStr = dh[0][1]
if encodeStr != None:
fname = fname.decode(encodeStr, mycode)
#end if
fEx = open("%s"%(fname), 'wb')
fEx.write(data)
fEx.close()
elif contentType == 'text/plain':# or contentType == 'text/html':
#保存正文
data = part.get_payload(decode=True)
content=str(data);
if mycode=='gb2312':
content= mbs_to_utf8(content)
#end if
nPos = content.find('降息')
print("nPos is %d"%(nPos))
print >> f, data
#end if
#end for
f.close()
#end for
pop_conn.quit()
更多关于Python相关内容可查看本站专题:《Python Socket编程技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》、《Python入门与进阶经典教程》及《Python文件与目录操作技巧汇总》
希望本文所述对大家Python程序设计有所帮助。
# Python
# 读取
# 邮箱
# 邮件
# Python编程实现及时获取新邮件的方法示例
# 在Python中使用poplib模块收取邮件的教程
# 简单实现python收发邮件功能
# Python实现发送与接收邮件的方法详解
# Python获取邮件地址的方法
# 详解python实现读取邮件数据并下载附件的实例
# Python读取指定日期邮件的实例
# 进阶
# 操作技巧
# 运行环境
# 相关内容
# 数据结构
# 给大家
# 更多关于
# 所述
# 程序设计
# 使用技巧
# 编程技巧
# 讲述了
# username
# qq
# exmail
# cn
# xxxx
# encode
# decode
# utf8_to_mbs
相关文章:
武汉网站制作费用多少,在武汉武昌,建面100平方左右的房子,想装暖气片,费用大概是多少啊?
实现虚拟支付需哪些建站技术支撑?
如何挑选最适合建站的高性能VPS主机?
网站制作大概多少钱一个,做一个平台网站大概多少钱?
如何在云指建站中生成FTP站点?
如何制作新型网站程序文件,新型止水鱼鳞网要拆除吗?
南宁网站建设制作定制,南宁网站建设可以定制吗?
如何在IIS中新建站点并配置端口与IP地址?
如何在Tomcat中配置并部署网站项目?
独立制作一个网站多少钱,建立网站需要花多少钱?
国美网站制作流程,国美电器蒸汽鍋怎么用官方网站?
东莞专业网站制作公司有哪些,东莞招聘网站哪个好?
建站之星好吗?新手能否轻松上手建站?
详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)
制作农业网站的软件,比较好的农业网站推荐一下?
大连 网站制作,大连天途有线官网?
如何选择域名并搭建高效网站?
电商网站制作价格怎么算,网上拍卖流程以及规则?
如何自己制作一个网站链接,如何制作一个企业网站,建设网站的基本步骤有哪些?
Thinkphp 中 distinct 的用法解析
如何在宝塔面板中修改默认建站目录?
网站建设制作、微信公众号,公明人民医院怎么在网上预约?
如何设计高效校园网站?
建站主机是否等同于虚拟主机?
如何零成本快速生成个人自助网站?
教学论文网站制作软件有哪些,写论文用什么软件
?
北京制作网站的公司,北京铁路集团官方网站?
建站ABC备案流程中有哪些关键注意事项?
创业网站制作流程,创业网站可靠吗?
c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗
香港服务器租用费用高吗?如何避免常见误区?
建站之星免费版是否永久可用?
如何用搬瓦工VPS快速搭建个人网站?
如何在阿里云购买域名并搭建网站?
建站之星上传入口如何快速找到?
设计网站制作公司有哪些,制作网页教程?
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
图册素材网站设计制作软件,图册的导出方式有几种?
可靠的网站设计制作软件,做网站设计需要什么样的电脑配置?
如何登录建站主机?访问步骤全解析
简历在线制作网站免费版,如何创建个人简历?
如何快速生成橙子建站落地页链接?
如何在Ubuntu系统下快速搭建WordPress个人网站?
浅谈Javascript中的Label语句
单页制作网站有哪些,朋友给我发了一个单页网站,我应该怎么修改才能把他变成自己的呢,请求高手指点迷津?
如何选择高效稳定的ISP建站解决方案?
南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?
北京网站制作网页,网站升级改版需要多久?
如何在Golang中处理模块冲突_解决依赖版本不兼容问题
成都品牌网站制作公司,成都营业执照年报网上怎么办理?
*请认真填写需求信息,我们会在24小时内与您取得联系。