python 获取收件箱的具体信息
转自(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 获取收件箱的具体信息相关推荐
- Java邮件收发,以及获取收件箱和发件箱 自测可用 使用JavaMail
Java邮件收发,以及获取收件箱和发件箱 自测可用 Java发送邮件 使用javaMail 1.5.6发送邮件 协议smtp smtp地址 smtp.域名 端口SSL 465/994 非SSL25 实 ...
- JavaMail怎样获取收件箱,发件箱,垃圾箱等等的全名
JavaMail怎样获取收件箱,发件箱,垃圾箱等等的全名?方法如下 try {store = session.getStore("imap");store.connect(addr ...
- javaMail获取收件箱邮件之javax.mail.FolderNotFoundException
情况一:通过pop3获取邮件 javax.mail.FolderNotFoundException: folder is not INBOXat com.sun.mail.pop3.POP3Folde ...
- Java获取收件箱邮件
代码如下: import javax.mail.*; import javax.mail.internet.InternetAddress; import java.text.SimpleDateFo ...
- (详细总结)python爬取 163收件箱邮件内容,收件箱列表的几种方法(urllib, requests, selenium)
需求:最近有一个需求,需要将163邮箱收件箱里面的所有邮件的内容全部copy下来,整理到一个word里面,不多也就28页的邮件(不要问我为什么有这需求,不告诉你),自己手动去ctrl+ cv 的话,估 ...
- SSL方式获取邮箱收件箱
2019独角兽企业重金招聘Python工程师标准>>> QQ邮箱是强制要求使用SSL方式获取收件箱的: package emailUtil;import java.io.FileNo ...
- java获取阿里邮箱收件箱、发件箱、草稿箱、已删除邮件、垃圾邮件
通过下面两句代码即可获得该邮箱下所有文件夹名称 Folder defaultFolder = store.getDefaultFolder(); Folder[] allFolder = defaul ...
- Outlook-VBA-02-对收件箱进行遍历
系统:Windows 10 软件:Outlook 2016 本系列讲讲在Outlook中使用VBA实现一些功能 今天讲讲对收件箱进行遍历 Part 1:目的 对收件箱进行遍历,并输出每封邮件的以下信息 ...
- 使用selenium模拟动态登录QQ邮箱爬取收件箱内容放在CSV文件中
获取收件箱列表信息就是使用selenium实现模拟登录.点击收件箱链接.获取收件箱列表的html过程,然后就是正常的查找数据 1.我们首先就是要登录到QQ邮箱中,然后找到收件箱的页面的,才能爬取到 ...
最新文章
- jQuery计数子元素
- mapper中的CDATA标签的用法
- 在linux学习中遇到的问题
- 201114阶段二qt自定义图元类
- 使用 SAP Uiveri5 遇到 passport 依赖的问题以及解决方案
- c语言中通过分隔符取字符串,C语言切割多层字符串(strtok_r strtok使用方法)
- 【Redis】Redis替代方案
- 福建工程学院寒假作业第一周G题
- Python - matplotlib 不显示中文 findfont: Font family [‘SimHei‘] not found - IOS
- 计算机连接打印机没有dot4,Windows无法连接到打印机错误消息0x00000214
- java io 和nio 区别_java IO和NIO区别
- 原型工具XSTAR与AXURE对比
- win7系统安装VS 2019
- mysql 日期截止,MySQL查询以开始日期和结束日期计算日期范围内的天数
- Centos7安装网易云播放器
- Android Fragment遇到重叠问题的解决方案
- redis数据备份与恢复
- python实现面部特效_用Python获取摄像头并实时控制人脸的实现示例
- 阿里影业的稳健业绩来源:科技+内容塑造韧性,应对市场变化
- 【蓝桥杯考前突击】第十一届蓝桥杯省赛C/C++大学B组 试题A 跑步训练
热门文章
- MATLAB 拉格朗日方程 求三自由度机械
- 计算机视觉 ----全面介绍
- 烤仔TVの尚书房丨FOMO 情绪笼罩下的 DeFi 坐上了过山车
- 开一间“大宝剑”店能挣多少钱?
- python制作文字识别_用Python轻松进行图像文本识别
- C# 引用C++动态库方法
- JZOJ 5947. 【NOIP2018模拟11.02】初音未来
- linux上搭建pppoe服务器,linux(centos)上搭建pppoe服务器
- ILSVRC2015_VID数据集详解
- 第十四届蓝桥杯三月真题刷题训练——第 22 天