Skip to content

desire520/python-for-Email

Repository files navigation

邮件阅读理解助手 📧

自动连接QQ邮箱,拉取最近邮件,并使用本地免费算法自动提取关键词、内容摘要和重要信息(日期、金额、链接等),帮你快速了解邮件重点,无需逐字阅读全文。

功能特点

  • ✅ 通过 IMAP 自动连接QQ邮箱,拉取最近邮件(默认最近10封)
  • ✅ 自动解析邮件正文(支持纯文本和HTML邮件)
  • ✅ 本地免费文本摘要算法(TextRank),无需联网、无需API Key
  • ✅ 自动提取关键词(jieba分词 + TextRank/TF-IDF)
  • ✅ 智能识别重要信息:截止日期、金额、链接、含"紧急/重要/通知"等关键词的句子
  • ✅ 终端友好展示,一目了然

安装步骤

1. 安装 Python 依赖

pip install -r requirements.txt

2. 配置邮箱信息

打开 config.py,修改以下两项:

EMAIL_ACCOUNT = "your_account@qq.com"       # 你的QQ邮箱地址
EMAIL_PASSWORD = "your_authorization_code"   # QQ邮箱的IMAP授权码(不是QQ密码!)

如何获取QQ邮箱授权码:

  1. 登录网页版QQ邮箱:https://mail.qq.com
  2. 点击顶部「设置」→「账户」
  3. 找到「POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务」
  4. 开启「IMAP/SMTP服务」(按提示用手机发短信验证开启)
  5. 开启成功后会显示一个16位「授权码」,复制填入 EMAIL_PASSWORD

其他可调整的配置项(在 config.py 中):

配置项 说明 默认值
FETCH_COUNT 每次拉取最近多少封邮件 10
ONLY_UNSEEN 是否只拉取未读邮件 False
SUMMARY_SENTENCE_COUNT 摘要提取几句话 3
KEYWORD_COUNT 提取几个关键词 8

3. 运行程序

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: 请确认:

  1. EMAIL_PASSWORD 填的是「授权码」而不是QQ密码
  2. QQ邮箱的IMAP/SMTP服务已经开启

Q: 摘要效果不太理想? A: 本程序使用的是完全本地、免费的TextRank算法,效果不如大模型智能摘要精准,但优点是无需联网、无需API费用、无隐私泄露风险。如果对摘要质量要求更高,后续可以扩展支持接入AI大模型API。

Q: 想要处理其他邮箱(163/Gmail/Outlook等)? A: 只需修改 config.py 中的 IMAP_SERVERIMAP_PORT 为对应邮箱的IMAP服务器地址即可,例如:

  • 163邮箱: imap.163.com, 端口 993
  • Gmail: imap.gmail.com, 端口 993(需要开启"低安全性应用访问权限"或使用应用专用密码)
  • Outlook: imap-mail.outlook.com, 端口 993

About

邮件阅读理解助手 (helping email to easy understand)

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages