前言:一个真实的工作痛点
每到季度末、半年末、年底,有一件事总是让人头疼——整理绩效材料。
“这半年我都干了哪些工作?每个项目进展到什么程度了?有哪些成果可以写进绩效报告?”
按理说,这些信息都在日常的邮件往来里。跟客户的沟通、跟同事的协作、跟领导的汇报……每一封邮件都是一条工作痕迹。但真要翻邮箱一封一封地看,几百上千封邮件,看完眼睛都花了。
有人会说:让Agent直接接入邮箱不就行了?
但这里有两个现实问题:一是要配置各种API和权限,麻烦;二是邮件里全是公司业务信息,万一泄露了谁也担不起这个责任。
所以我想了个笨办法——用Python在本地把邮件提取出来,整理成一张表格,再用本地下载的开源模型或者公司自己打造的大模型(譬如移动的,就用自己的九天大模型)来做分析。数据全程不出本地电脑,安全可控,而且代码写好之后每次都能复用,再也不用一封一封翻邮件了。
这篇文章就是把这个过程完整记录下来——既分享给大家参考,也给自己留个档,免得下次又忘了怎么操作。
整个流程分三步走:
今天重点说第一步和第二步,至于第三步各位可以选择自己认为靠谱的大模型即可。1、开启邮箱的IMAP服务
要让Python能读取你的邮件,首先需要在邮箱设置里开启IMAP/POP3服务。
以QQ邮箱为例:
登录网页版QQ邮箱
进入“设置”→“账户”
找到“POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务”
开启“IMAP/SMTP服务”
按提示获取授权码(不是你的邮箱密码,是专门用来给第三方客户端用的16位授权码)
⚠️ 重要:这个授权码只显示一次,记得保存好。
2、安装Python依赖库
在终端或命令行中执行:“pip install pandas openpyxl requests”
注意:imaplib和email是Python内置库,不需要额外安装。
把邮箱里指定时间范围内的邮件捞出来,整理成Excel表格。这块的详细代码就不粘贴了,大家可以直接问Deepseek,就能给你输出一段代码,然后参照执行就行了。
但是这个里边需要16位授权码,而很多单位的邮箱的授权码是定期更新的,这样一来需要定期更新授权码,如果大家已经装了邮箱桌面客户端的话,我这有一个笨一点的办法,但是更加直接和简单。
具体步骤如下:邮件已经以 .eml 格式保存在本地,那么用 Python 脚本批量提取信息并生成 Excel 是最直接、最可控的方案。
1、先找到邮箱的存储位置:
一般桌面邮箱客户端的系统设置会有邮件的存储位置,根据这个位置找到自己邮箱保存的位置。
存储在本地的邮箱会按照时间归集,为避免遍历全部文件夹,同时一般也是按照季度来梳理工作,这样就可以把三个月的文件复制到一个新的文件夹里边如图显示,可复制一季度的三个邮箱到一个新的文件夹里边,并标注为“26年一季度邮箱”(通过查看属性,记住这个文件夹的地址,后边用的到①)当邮件很多的时候,每个日期的文件夹里边还有很多子文件夹,如果直接整合工作量也会很大,耗时也比较长,还有一种简洁的方式,就是先运行一个python,先把这些子文件夹里边的eml整到一个文件夹里边。譬如我直接新建一个文件夹“26年一季度邮件备份”(通过查看属性,记住这个文件夹的地址,后边也用得到②)。新建一个文本文档,然后把这个代码复制进去,记住位置替换为刚才找着的地址①、②,然后另存为.py结尾的文件即可,譬如我这次保存为“26年一季度邮箱备份.py”(同样需要查看属性,然后记住位置,后边也用得到③)然后在终端里边直接入输入“python3 "/XXX/XXX/XXX/26年一季度邮箱备份.py"”(这个地方的地址替换为你的py保存的地址即可③)目标:读取 ~/eml_collected 下所有 .eml 文件,提取 发件人、收件人(含To、Cc、Bcc合并)、主题、正文(纯文本)、发送时间,并保存为 邮件汇总.xlsx。需要安装的 Python 库:
安装 openpyxl:在终端执行:pip3 install openpyxl创建邮件信息提取脚本,然后把这段代码复制进去,譬如命名为“26年一季度邮件信息提取.py”,然后操作同步骤三,在你的终端里边运行这个程序即可,如下所示:这样所有邮件就都整合完成了,后续怎么基于发送和收到的邮件去进行工作整理,就看用那个大模型来处理了。想看二季度的怎么办,重复一下上述步骤即可,然后再更改两个py文件中文件夹的路径即可(如果在同一个文件夹,都只需要改一下最后面的文件名即可)