自动连接QQ邮箱,拉取最近邮件,并使用本地免费算法自动提取关键词、内容摘要和重要信息(日期、金额、链接等),帮你快速了解邮件重点,无需逐字阅读全文。
- ✅ 通过 IMAP 自动连接QQ邮箱,拉取最近邮件(默认最近10封)
- ✅ 自动解析邮件正文(支持纯文本和HTML邮件)
- ✅ 本地免费文本摘要算法(TextRank),无需联网、无需API Key
- ✅ 自动提取关键词(jieba分词 + TextRank/TF-IDF)
- ✅ 智能识别重要信息:截止日期、金额、链接、含"紧急/重要/通知"等关键词的句子
- ✅ 终端友好展示,一目了然
pip install -r requirements.txt打开 config.py,修改以下两项:
EMAIL_ACCOUNT = "your_account@qq.com" # 你的QQ邮箱地址
EMAIL_PASSWORD = "your_authorization_code" # QQ邮箱的IMAP授权码(不是QQ密码!)如何获取QQ邮箱授权码:
- 登录网页版QQ邮箱:https://mail.qq.com
- 点击顶部「设置」→「账户」
- 找到「POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务」
- 开启「IMAP/SMTP服务」(按提示用手机发短信验证开启)
- 开启成功后会显示一个16位「授权码」,复制填入
EMAIL_PASSWORD
其他可调整的配置项(在 config.py 中):
| 配置项 | 说明 | 默认值 |
|---|---|---|
FETCH_COUNT |
每次拉取最近多少封邮件 | 10 |
ONLY_UNSEEN |
是否只拉取未读邮件 | False |
SUMMARY_SENTENCE_COUNT |
摘要提取几句话 | 3 |
KEYWORD_COUNT |
提取几个关键词 | 8 |
python main.py============================================================
📧 邮件 [1]
------------------------------------------------------------
主题 : 关于本周五项目会议安排的通知
发件人: 张经理 <zhang@example.com>
时间 : 2026-07-03 14:20
------------------------------------------------------------
🔑 关键词: 项目 / 会议 / 周五 / 安排 / 讨论 / 进度
📝 内容摘要:
1. 本周五下午3点将召开项目进度讨论会议,请各位准时参加。
2. 会议地点在3楼会议室,预计时长1小时。
3. 请提前准备好各自负责模块的进度汇报材料。
⚠️ 重要信息提示:
‣ 本周五下午3点将召开项目进度讨论会议,请各位准时参加。
📅 时间/日期: 周五, 3:00
============================================================
email_summarizer/
├── config.py # 邮箱账号及各项参数配置
├── mail_fetcher.py # IMAP邮件拉取与解析模块
├── summarizer.py # 本地文本摘要/关键词/重要信息提取模块
├── main.py # 主程序入口
├── requirements.txt # 依赖库列表
└── README.md # 使用说明(本文件)
Q: 运行时报错 "unsafe login" 或登录失败? A: 请确认:
EMAIL_PASSWORD填的是「授权码」而不是QQ密码- QQ邮箱的IMAP/SMTP服务已经开启
Q: 摘要效果不太理想? A: 本程序使用的是完全本地、免费的TextRank算法,效果不如大模型智能摘要精准,但优点是无需联网、无需API费用、无隐私泄露风险。如果对摘要质量要求更高,后续可以扩展支持接入AI大模型API。
Q: 想要处理其他邮箱(163/Gmail/Outlook等)?
A: 只需修改 config.py 中的 IMAP_SERVER 和 IMAP_PORT 为对应邮箱的IMAP服务器地址即可,例如:
- 163邮箱:
imap.163.com, 端口 993 - Gmail:
imap.gmail.com, 端口 993(需要开启"低安全性应用访问权限"或使用应用专用密码) - Outlook:
imap-mail.outlook.com, 端口 993