全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Python实现读取邮箱中的邮件功能示例【含文本及附件】

本文实例讲述了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小时内与您取得联系。