转自(https://stackoverflow.com/questions/2230037/how-to-fetch-an-email-body-using-imaplib-in-python)

通过邮件的用户信息和收件箱服务器信息 可以获取到收件箱的所有信息

代码详情

import datetime
import email
import imaplibdef readMail(i, data, mail):rangeList = list(range(i))for x in rangeList:try:latest_email_uid = data[0].split()[x]  # 最新的邮箱uidprint("最新的uid:{}".format(latest_email_uid))result, email_data = mail.uid('fetch', latest_email_uid, '(RFC822)')raw_email = email_data[0][1]  # bytes类型  邮件的所有内容raw_email_string = raw_email.decode('utf-8')  # 转换成utf-8email_message = email.message_from_string(raw_email_string)  # 邮箱的所有内容# Header Detailsdate_tuple = email.utils.parsedate_tz(email_message['Date'])  # 获取邮箱的收到邮件时间if date_tuple:local_date = datetime.datetime.fromtimestamp(email.utils.mktime_tz(date_tuple))  # 2018-10-22 14:55:02local_message_date = "%s" % (str(local_date.strftime("%a, %d %b %Y %H:%M:%S")))  # Mon, 22 Oct 2018 14:55:02email_from = str(email.header.make_header(email.header.decode_header(email_message['From'])))  # 发件人email_to = str(email.header.make_header(email.header.decode_header(email_message['To'])))  # 收件人subject = str(email.header.make_header(email.header.decode_header(email_message['Subject'])))  # 邮件主题print(subject)# 邮件的文本内容for part in email_message.walk():if part.get_content_type() == "text/plain":body = part.get_payload(decode=True)  # bytes类型text = body.decode("utf-8")  # 转换成  utf-8类型print(text)except Exception as e:# 可能发生错误  重新遍历取出rangeList.append(x)continuedef logginMail(EMAIL_ACCOUNT, PASSWORD, imapServer):mail = imaplib.IMAP4_SSL(imapServer)  # 链接邮箱服务器mail.login(EMAIL_ACCOUNT, PASSWORD)  # 登录邮箱mail.list()  # 邮箱列表mail.select('inbox')  # 选择收件箱result, data = mail.uid('search', None, "ALL")  # (ALL/UNSEEN)  # 查看邮箱列表if result == "OK":i = len(data[0].split())  # 收到的邮箱个数readMail(i, data, mail)else:print("获取邮箱列表失败:{}:{}".format(EMAIL_ACCOUNT, PASSWORD))if __name__ == '__main__':imapServer = ""  # 收件箱服务器  imap.gmail.comEMAIL_ACCOUNT = ""  # 邮箱地址账号PASSWORD = ""  # 邮箱密码logginMail(EMAIL_ACCOUNT, PASSWORD, imapServer)

python 获取收件箱的具体信息相关推荐

  1. Java邮件收发,以及获取收件箱和发件箱 自测可用 使用JavaMail

    Java邮件收发,以及获取收件箱和发件箱 自测可用 Java发送邮件 使用javaMail 1.5.6发送邮件 协议smtp smtp地址 smtp.域名 端口SSL 465/994 非SSL25 实 ...

  2. JavaMail怎样获取收件箱,发件箱,垃圾箱等等的全名

    JavaMail怎样获取收件箱,发件箱,垃圾箱等等的全名?方法如下 try {store = session.getStore("imap");store.connect(addr ...

  3. javaMail获取收件箱邮件之javax.mail.FolderNotFoundException

    情况一:通过pop3获取邮件 javax.mail.FolderNotFoundException: folder is not INBOXat com.sun.mail.pop3.POP3Folde ...

  4. Java获取收件箱邮件

    代码如下: import javax.mail.*; import javax.mail.internet.InternetAddress; import java.text.SimpleDateFo ...

  5. (详细总结)python爬取 163收件箱邮件内容,收件箱列表的几种方法(urllib, requests, selenium)

    需求:最近有一个需求,需要将163邮箱收件箱里面的所有邮件的内容全部copy下来,整理到一个word里面,不多也就28页的邮件(不要问我为什么有这需求,不告诉你),自己手动去ctrl+ cv 的话,估 ...

  6. SSL方式获取邮箱收件箱

    2019独角兽企业重金招聘Python工程师标准>>> QQ邮箱是强制要求使用SSL方式获取收件箱的: package emailUtil;import java.io.FileNo ...

  7. java获取阿里邮箱收件箱、发件箱、草稿箱、已删除邮件、垃圾邮件

    通过下面两句代码即可获得该邮箱下所有文件夹名称 Folder defaultFolder = store.getDefaultFolder(); Folder[] allFolder = defaul ...

  8. Outlook-VBA-02-对收件箱进行遍历

    系统:Windows 10 软件:Outlook 2016 本系列讲讲在Outlook中使用VBA实现一些功能 今天讲讲对收件箱进行遍历 Part 1:目的 对收件箱进行遍历,并输出每封邮件的以下信息 ...

  9. 使用selenium模拟动态登录QQ邮箱爬取收件箱内容放在CSV文件中

      获取收件箱列表信息就是使用selenium实现模拟登录.点击收件箱链接.获取收件箱列表的html过程,然后就是正常的查找数据 1.我们首先就是要登录到QQ邮箱中,然后找到收件箱的页面的,才能爬取到 ...

最新文章

  1. jQuery计数子元素
  2. mapper中的CDATA标签的用法
  3. 在linux学习中遇到的问题
  4. 201114阶段二qt自定义图元类
  5. 使用 SAP Uiveri5 遇到 passport 依赖的问题以及解决方案
  6. c语言中通过分隔符取字符串,C语言切割多层字符串(strtok_r strtok使用方法)
  7. 【Redis】Redis替代方案
  8. 福建工程学院寒假作业第一周G题
  9. Python - matplotlib 不显示中文 findfont: Font family [‘SimHei‘] not found - IOS
  10. 计算机连接打印机没有dot4,Windows无法连接到打印机错误消息0x00000214
  11. java io 和nio 区别_java IO和NIO区别
  12. 原型工具XSTAR与AXURE对比
  13. win7系统安装VS 2019
  14. mysql 日期截止,MySQL查询以开始日期和结束日期计算日期范围内的天数
  15. Centos7安装网易云播放器
  16. Android Fragment遇到重叠问题的解决方案
  17. redis数据备份与恢复
  18. python实现面部特效_用Python获取摄像头并实时控制人脸的实现示例
  19. 阿里影业的稳健业绩来源:科技+内容塑造韧性,应对市场变化
  20. 【蓝桥杯考前突击】第十一届蓝桥杯省赛C/C++大学B组 试题A 跑步训练

热门文章

  1. MATLAB 拉格朗日方程 求三自由度机械
  2. 计算机视觉 ----全面介绍
  3. 烤仔TVの尚书房丨FOMO 情绪笼罩下的 DeFi 坐上了过山车
  4. 开一间“大宝剑”店能挣多少钱?
  5. python制作文字识别_用Python轻松进行图像文本识别
  6. C# 引用C++动态库方法
  7. JZOJ 5947. 【NOIP2018模拟11.02】初音未来
  8. linux上搭建pppoe服务器,linux(centos)上搭建pppoe服务器
  9. ILSVRC2015_VID数据集详解
  10. 第十四届蓝桥杯三月真题刷题训练——第 22 天