大家可能会遇到这样一种情况:有没有什么办法可以将邮箱里面的邮件全部下载到本地(包括图文、压缩附件、文档附件等)。比如HR、收集意见的工作人员甚至是一些负责收邮件的老师等人都会遇到这种情况。
今天辰哥就教大家如何利用Python去下载邮箱中的全部邮件,本文核心库主要是zmail。
01、准备工作
1.安装库
pip install zmail
通过上面的命令即可安装zmail
导入库
import zmail
2.开启**POP3/SMTP服务**
在程序中登录QQ邮箱不是使用qq邮箱密码,是使用POP3/SMTP服务口令,所以我们这里先获取口令
第一步:登录qq邮箱点击设置,再点账户

第二步:开启POP3/SMTP,点击开启后会生成一段字符串(token),这里辰哥已经开启了

02、下载全部邮件
1.登录账户

下载的全部邮件都会保存在文件夹chenge中
2.读取全部邮件

目标:下载全部的邮件。所以这里获取到邮件数,并通过循环去遍历
3.创建保存文件夹

这里提取邮件日期和主题,在chenge文件夹下为该邮件创建文件夹(到时候保存正文内容和附件)
4.保存邮件正文

判断本地是否存在该邮件命名的文件夹,不存在则创建。
提取正文内容保存到正文文本.txt,txt中的格式如下:

5.保存附件

一行代码就可以将附件,包括正文中的插图直接下载保存到指定文件夹中
03、演示程序
1.邮件示例
这里准备了两份邮件(一份图+文,一份附件+文)

一份图+文

这份邮件有正文,正文插图,图片附件
一份附件+文

这份邮件有正文,正文插图,压缩包附件
2.执行程序

结果如下:



04、小结
为了大家方便学习,辰哥把本文的完整源码上传,需要的通过同名公众回复:邮件下载
本文讲解了如何通过Python教大家如何利用Python去下载邮箱中的全部邮件,不明白的地方可以在下方留言,一起交流。