利用本地Ollama大语言模型进行AI分类的IMAP邮件扫描与分级功能。扫描未读邮件,将其归类为紧急、需回复、参考信息等。
电子邮件 Trage. 扫描您的 IMAP 收件箱, 将电子邮件分类为优先类, 并显示需要注意的类
功能概述
电子邮件 Trage. 扫描您的 IMAP 收件箱, 将电子邮件分类为优先类, 并显示需要注意的类是一项面向实际任务的技能,主要用于使用本地 LLM( Ollama) 进行智能分类, 并基于规则。它将相关步骤、工具调用和结果整理方式集中到统一流程中,帮助使用者更快完成目标并减少重复操作。
核心要点
- 使用时应结合输入条件选择合适的执行方式,核对必要参数、依赖环境与输出内容,并按原始要求处理异常情况。
- 该技能适合需要稳定复用相关能力的场景,可作为自动化工作流的一部分,也便于后续检查、调整和扩展。
- 从功能定位来看,该技能强调把分散的操作要求整理成清晰、可复用的处理流程,使用户能够围绕既定目标快速准备输入、选择执行方式并获得结构化结果。
使用与执行
实际使用前应先确认任务范围、数据来源、运行环境、必要权限和关键参数,再依据技能说明逐步执行;若输入条件不完整,应先补齐信息或采用保守配置,避免因错误假设导致结果偏离需求。
结果检查与注意事项
执行过程中需要关注工具调用是否成功、接口或依赖是否可用、输出格式是否符合预期,并对异常提示、缺失字段和边界情况进行处理;涉及批量任务时,还应保存进度,避免中断后重复操作。
邮件分类(Email Triage)
扫描您的 IMAP 收件箱,将邮件按优先级分类,并突出显示需要您关注的邮件。默认使用本地大语言模型(Ollama)进行智能分类;当 Ollama 不可用时,自动回退至基于规则的启发式分类器。
前提条件
- Python 3.10+
- 支持 IMAP 访问的邮箱账户(如 Gmail、Fastmail、自托管邮箱等)
- Ollama (可选) — 用于 AI 驱动的分类。若未安装 Ollama,脚本将启用基于关键词的启发式分类器,该方式对常见模式仍具备良好效果。
分类类别
| 图标 | 类别 | 说明 |
|---|---|---|
| 🔴 | urgent |
服务中断、安全告警、法律事务、支付失败、时效性极强的事项 |
| 🟡 | needs-response |
商业咨询、问题询问、需回复的待办事项 |
| 🔵 | informational |
收据、确认邮件、新闻简报、自动化通知 |
| ⚫ | spam |
营销推广、促销信息、未经请求的垃圾邮件 |
配置方式
所有配置均通过环境变量完成:
| 变量 | 是否必需 | 默认值 | 说明 |
|---|---|---|---|
IMAP_HOST |
✅ | — | IMAP 服务器主机名 |
IMAP_PORT |
— | 993 |
IMAP 端口(SSL) |
IMAP_USER |
✅ | — | IMAP 用户名 / 邮箱地址 |
IMAP_PASS |
✅ | — | IMAP 密码或应用专用密码 |
EMAIL_TRIAGE_STATE |
— | ./data/email-triage.json |
JSON 状态文件路径 |
OLLAMA_URL |
— | http://127.0.0.1:11434 |
Ollama API 接口地址 |
OLLAMA_MODEL |
— | qwen2.5:7b |
用于分类任务的 Ollama 模型 |
写入的目录
EMAIL_TRIAGE_STATE(默认:./data/email-triage.json)— 持久化状态文件,记录已分类邮件及其“是否已突出显示”状态
命令列表
# 扫描收件箱并分类新收到的未读邮件 python3 scripts/email/email-triage.py scan # 启用详细输出模式(显示每封邮件的分类结果) python3 scripts/email/email-triage.py scan --verbose # 试运行:执行扫描与分类,但不保存状态 python3 scripts/email/email-triage.py scan --dry-run # 显示尚未被突出显示的重要邮件(urgent + needs-response) python3 scripts/email/email-triage.py report # 同上,但以 JSON 格式输出(适用于程序化调用) python3 scripts/email/email-triage.py report --json # 将已报告的邮件标记为“已突出显示”,使其不再出现在后续报告中 python3 scripts/email/email-triage.py mark-surfaced # 显示分类统计信息 python3 scripts/email/email-triage.py stats
工作原理
- 连接 IMAP:通过 SSL 连接 IMAP 服务器,获取最多 20 封未读邮件。
- 去重处理:依据邮件 Message-ID 去重;若不可用,则使用“主题 + 发件人”的哈希值作为备选标识符,确保每封邮件仅被分类一次。
- 邮件分类:优先调用 Ollama 进行语义理解分类;若 Ollama 不可用,则自动切换至关键词启发式分类器。
- 状态存储:将每封邮件的分类结果、判定依据及“是否已突出显示”状态持久化保存至本地 JSON 文件。
report:仅列出尚未被突出显示的urgent和needs-response类邮件,并按优先级排序。mark-surfaced:将已在报告中列出的邮件标记为“已突出显示”,避免其重复出现在后续报告中。- 自动清理:状态文件最多保留最近 200 条记录,防止无限增长。
集成建议
- 心跳 / 定时任务(cron):周期性执行
scan,随后调用report --json检查是否存在需处理的邮件。 - 智能体工作流(Agent workflow):典型流程为
scan→report --json→ 根据结果执行操作 →mark-surfaced。 - 不使用 Ollama 的场景:启发式分类器已能良好识别常见模式(如自动化通知、营销邮件、“urgent”“ASAP”等关键词),Ollama 主要提升对语义模糊邮件的判断精度。
- 应用专用密码(App passwords):若您所用邮箱服务商启用了双重验证(2FA),请为其生成专用的 IMAP 应用密码。
热门AI工具
相关专题
DBeaver数据导入专题,整理Excel、CSV、SQL、TXT等常见文件的数据导入方法,涵盖目标数据库选择、数据表创建、字段映射、数据类型设置及导入参数配置等操作,帮助用户将本地文件中的数据写入数据库,并了解批量导入、重复数据处理和导入失败等常见问题的解决方法。
0
2026.11.05
DBeaver安全防护专题,围绕数据库连接安全、账号密码保护和访问权限管理展开,整理SSL/TLS加密连接、SSH隧道、数据库凭据保存及证书验证等配置方法,同时介绍敏感信息保护、远程连接风险和高权限账号使用等注意事项,帮助用户提高数据库日常管理的安全性。
0
2026.11.05
本专题聚焦DBeaver数据库连接配置与管理,覆盖从新建连接、选择数据库类型到填写连接参数和验证连接的完整流程。针对MySQL、PostgreSQL、SQL Server等常见数据库,整理相应的连接设置方法,并提供驱动缺失、认证失败和连接异常等问题的排查方向。
0
2026.11.04
本专题围绕XORM框架的结构体映射展开,说明表名与字段的命名策略、xorm标签常用属性、主键自增与时间字段自动填充,并演示Sync2自动建表、增量字段升级、索引声明与反向生成结构体的完整流程。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题聚焦XORM框架的配置与连接环节,拆解MySQL、PostgreSQL、SQLite、SQL Server的DSN写法与驱动选择,讲清连接池参数、多数据源拆分、读写分离与超时重连的处理方式,并补充容器与兼容数据库的适配经验。
0
2026.11.04
本专题梳理XORM框架的入门路径,从框架定位、依赖安装、连接数据库到跑通第一个增删改查示例,讲清Engine初始化、日志开启与项目目录规划,并对比GORM等同类ORM的差异,帮助Go开发者建立整体认知。
0
2026.11.04
本专题聚焦Docker Desktop容器端口映射与访问配置,整理从创建容器、设置端口绑定到验证本地服务访问的操作流程。针对端口被占用、映射配置错误、容器服务无法访问等情况,也提供相应的检查方向,方便用户完成端口配置。
0
2026.11.03
热门下载
相关下载
精品课程
共6课时 | 12.1万人学习
共79课时 | 161.7万人学习
共6课时 | 54.7万人学习
最新文章