登录邮箱并读取原始邮件

使用imaplib库实现邮箱登录,所以需要先导入库import imaplib,然后利用imaplib库中的方法登录邮箱并读取邮件

def get_mail(email_address, password):

# 这里的服务器根据需要选择

server = imaplib.IMAP4_SSL("imap.gmail.com")

server.login(email_address, password)

# 邮箱中的文件夹,默认为'INBOX'

inbox = server.select("INBOX")

# 搜索匹配的邮件,第一个参数是字符集,None默认就是ASCII编码,第二个参数是查询条件,这里的ALL就是查找全部

type, data = server.search(None, "ALL")

# 邮件列表,使用空格分割得到邮件索引

msgList = data[0].split()

# 最新邮件,第0封邮件为最早的一封邮件

latest = msgList[len(msgList) - 1]

type, datas = server.fetch(latest, '(RFC822)')

# 使用utf-8解码

text = datas[0][1].decode('utf8')

# 转化为email.message对象

message = email.message_from_string(text)

return message

上述程序返回值为email.message,即原始邮件,如果打印出来,我们会发现这些一些代码,无法读懂,因此接下来我们需要将原始邮件转化为可读邮件

关于email.message

电子邮件消息由 headers 和 payload (其也被称为 content)组成。标题是 RFC 5322 或 RFC 6532 样式的字段名称和值。有效载荷可以是简单文本消息,或二进制对象或子消息的结构化序列,每个子消息具有它们自己的一组头部和它们自己的有效载荷。后一类型的有效载荷由具有诸如 multipart或 message/rfc822 的MIME类型的消息指示。

由 EmailMessage 对象提供的概念模型是与表示消息的 RFC 5322 主体的 payload 耦合的标题的有序字典,其可以是子 EmailMessage 对象的列表。除了用于访问头部名称和值的常规字典方法之外,还存在用于从头部(例如MIME内容类型)访问专用信息,用于在有效载荷上操作,用于生成消息的序列化版本的方法,以及用于递归地遍历对象树。

EmailMessage 类字典接口由标题名称索引,标题名称必须是ASCII值。字典的值是带有一些额外方法的字符串。头以字节保存的形式存储和返回,但字段名匹配大小写不敏感。不像真正的dict,有一个排序的键,并可以有重复的键。提供了其他方法来处理具有重复键的标头。

python自动读取邮件_Python3读取邮件内容相关推荐

  1. python3 读取文本文件_python3读取文件最简单的办法

    原博文 2020-06-11 09:14 − ``` file = open('test.txt') #读文件 s = file.read() #把文件放到字符串里面 print(s) #输出字符串 ...

  2. 目前python主要应用领域零售_python3读取HDA零售企业数据(一)

    #-*- coding:utf-8 -*- # 下载河南FDA各药品经营企业目录 import urllib.request import urllib.parse import re import ...

  3. 如何使用python自动登录路由器且获取页面内容

    python代码非常之简单,但是功能相当强大,这个方法是我在试验登录路由器的时候发现的 import urllib print urllib.urlopen("http://admin:ad ...

  4. python自动点赞软件_python3 爬虫学习:自动给你心上人的微博点赞(一)

    使用selenium打开微博 在之前的案例里面,我们学习了使用requests.BeautifulSoup库来爬取豆瓣读书的数据,今天我们要来学习一个新的工具:selenium. selenium最初 ...

  5. python 自动发微博_python3实现古城钟楼每个时辰自动发微博

    古城钟楼 这个微博从2011年10月26日起,坚持每天都在微博上按干支计时的每个时辰发送"铛"声,时间分秒不差,这样的微博样式一直坚持了一年多!而且所有微博除了"铛&qu ...

  6. python自动登录qq客户端_Python自动登录QQ的实现示例

    Python自动登录QQ的实现示例,按下,鼠标,自动登录,窗口,代码 Python自动登录QQ的实现示例 易采站长站,站长之家为您整理了Python自动登录QQ的实现示例的相关内容. 这是一份来自网络 ...

  7. python自动读取邮件_Python自动化读取邮件基础代码讲解

    大家好,在之前的文章中我们已经了解如何对自己的邮箱做一些代码操作前的基础配置,也学会了通过 yagmail 发送邮件.这篇文章将分别介绍两个很实用的收取及读取邮件的库:imbox 和 poplib,主 ...

  8. php 正则匹配内容,php读取、正则匹配邮件内容的方法

    本篇文章主要介绍php读取.正则匹配邮件内容的方法,感兴趣的朋友参考下,希望对大家有所帮助. 本文实例讲述了PHP处理postfix邮件内容的方法.具体如下: //从输入读取到所有的邮件内容 $ema ...

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

    本文实例讲述了Python实现读取邮箱中的邮件功能.分享给大家供大家参考,具体如下: #-*- encoding: utf-8 -*- import sys import locale import ...

最新文章

  1. vue怎么vw布局好用_vue 实现 rem 布局的 或者 vw 布局的方法
  2. matlab如何判断线性相关,Fisher线性判断之matlab实现
  3. WPF 3D中多个模型如何设置某一个在最前?
  4. java安装cab破损,WCELOAD无法安装压缩的CAB文件
  5. python使用spark sql查询impala_如何使用JDBC将Impala表直接加载到Spark?
  6. MySQL 5.7.10 免安装配置
  7. php代码清除空格注解,去除php注释和去除空格函数分享
  8. 数据库内存泄漏——A SQLiteConnection object for database '/data/data/.../databases/....db' was leaked!...
  9. webpack打包后引用cdn的js_手摸手 Webpack 多入口配置实践
  10. 修复Git打包的一个Bug
  11. 单片机基础知识学习笔记
  12. 程序化交易系统的搭建
  13. 最新阿里巴巴面试官内部题库,2022年Java岗社招必备~
  14. AGV搬运机器人以在物流、电商等仓储企业中成为标配
  15. java gprs通信教程_S7-1200 GPRS通讯快速入门
  16. 【算法设计与分析】7、0/1背包问题,动态规划
  17. Android——加速传感器(ACCELEROMETER)的应用
  18. spring boot注解@PostConstruct
  19. 示波器的触发功能使用详解
  20. Javascript判断是否iphone全面屏手机

热门文章

  1. Open Live Writer的配置
  2. jquery中的ready方法和window的onload方法的区别
  3. 将计算机扔上云端——One Drive完全同步入门教程.
  4. 在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。...
  5. 免费邮箱排名用什么好?学校邮箱如何注册?邮件群发哪个多?
  6. 在VMwareWorkstation的虚拟机上安装“行云管家”过程记录,未来可以测试了。
  7. 百世集团去年第四季度总收入达90.4亿元 净亏损2400万元
  8. 一道关于老鼠繁衍的算法题
  9. Python分析《权力的游戏》最终季...... | 附源码
  10. 高端大气上档次的新型界面