本文作者 nick2869114756 是阿里云天池"千模百炼"全球 AI 开发者系列锦标赛——OpenClaw 养虾挑战赛的参赛者。还在逐个登录邮箱查邮件?这个技能让你同时监控 Gmail、QQ、163、Outlook... 新邮件自动推送到聊天窗口,还能直接回复发送!
为什么需要这个技能?
你是不是也有这样的烦恼:
📧 工作邮箱、个人邮箱、项目邮箱... 每天要登录好几个账号查邮件 ⏰ 重要邮件怕错过,但不可能 24 小时盯着邮箱 📱 手机通知太吵,但又怕漏掉关键信息 🤖 想要自动化处理,但找不到好用的工具
今天给大家安利一个 OpenClaw 多邮箱监控技能 —— email-monitor,让你彻底告别邮箱焦虑!
✨ 核心功能一览
📥 邮件监控
✅ 同时监控多个邮箱账户(Gmail、QQ、163、Outlook 等) ✅ 并发拉取,单个账户连接失败不影响其他账户 ✅ 按账户分组生成结构化 Markdown 摘要 ✅ 按时间范围过滤邮件(最近 1h / 6h / 1d / 7d) ✅ 搜索特定发件人或主题的邮件(跨所有账户)
📤 邮件管理
✅ 查看单封邮件完整详情 ✅ 标记邮件为已读 ✅ 实时邮件监控(IMAP IDLE 服务模式,新邮件即时推送到聊天窗) ✅ 发送邮件(SMTP,支持 Markdown 正文、附件)
🏷️ 智能处理
✅ 自动分类标签(📌重要 / 📋工作 / 💰账单 / 📢通知 等) ✅ 自动隐藏敏感信息(验证码、密码重置链接) ✅ 向后兼容单邮箱 .env配置
🛠️ 安装教程
方式一:手动安装
# 复制技能目录到 OpenClaw skills 目录cp -r email-monitor-skill <skills_dir>/email-monitor# 安装依赖cd <skills_dir>/email-monitornpm install# 配置邮箱(二选一)# 多邮箱模式:cp accounts.json.example accounts.json# 编辑 accounts.json 填入你的多个邮箱# 单邮箱模式:cp .env.example .env# 编辑 .env 填入一个邮箱方式二:从 GitHub 安装
# 克隆仓库到 OpenClaw skills 目录git clone https://github.com/erxiansheng/email-monitor.git <skills_dir>/email-monitor# 安装依赖cd <skills_dir>/email-monitornpm install# 配置邮箱(二选一)# 多邮箱模式:cp accounts.json.example accounts.json# 编辑 accounts.json 填入你的多个邮箱# 单邮箱模式:cp .env.example .env# 编辑 .env 填入一个邮箱⚙️ 配置说明
多邮箱模式(推荐)
复制 accounts.json.example 为 accounts.json 并编辑:
{"accounts": [ {"name": "work","label": "工作邮箱","imap": {"host": "imap.gmail.com","port": 993,"tls": true,"user": "work@gmail.com","pass": "your_app_password","mailbox": "INBOX" },"smtp": {"host": "smtp.gmail.com","port": 465,"tls": true,"user": "work@gmail.com","pass": "your_app_password" } }, {"name": "personal","label": "个人邮箱","imap": {"host": "imap.qq.com","port": 993,"tls": true,"user": "123456@qq.com","pass": "your_auth_code","mailbox": "INBOX" },"smtp": {"host": "smtp.qq.com","port": 465,"tls": true,"user": "123456@qq.com","pass": "your_auth_code" } } ]}配置字段说明
name | --account 参数 | |
label | ||
imap.host | ||
imap.port | ||
imap.tls | ||
imap.user | ||
imap.pass | ||
imap.mailbox | ||
smtp.host | ||
smtp.port | ||
smtp.tls | ||
smtp.user | imap.user | |
smtp.pass | imap.pass |
💡 提示:如果未配置smtp字段,发送邮件时会自动从imap配置推导(将host中的imap替换为smtp,使用相同的账号密码)。
单邮箱模式(向后兼容)
如果只监控一个邮箱,可以只用 .env:
IMAP_HOST=imap.gmail.comIMAP_PORT=993IMAP_USER=your@gmail.comIMAP_PASS=your_app_passwordIMAP_TLS=trueIMAP_MAILBOX=INBOX⚠️ 注意:当accounts.json存在时,.env配置会被忽略。
<skills_dir> 路径参考
~/.openclaw/skills | |
%USERPROFILE%\.openclaw\skills |
💡 提示:已在技能目录中时,可直接执行后续node scripts/...命令,无需再cd。
📮 各邮箱配置参考
💬 使用方式
OpenClaw 聊天中直接说
安装完成后,在 OpenClaw 聊天中直接说:
查看邮件 → 所有邮箱未读邮件查看工作邮箱的邮件 → 只看 work 账户最近 2 小时的邮件 → 按时间过滤(所有邮箱)搜索来自 boss@co.com 的邮件 → 跨所有邮箱搜索看看 work 账户 UID 42 的详情 → 指定账户看详情读取最近一份邮件内容 → 最近一封邮件详情标记已读 42,43 --account work → 批量标记开始监控邮箱 → 启动实时监控服务发邮件给 test@example.com → 发送邮件我配了哪些邮箱 → 列出账户脚本直接调用
# 列出已配置的账户node scripts/imap-monitor.js list-accounts# 检查所有邮箱未读(默认行为)node scripts/imap-monitor.js check --unseen --limit 10# 只检查某个账户node scripts/imap-monitor.js check --account work --unseen# 检查多个指定账户node scripts/imap-monitor.js check --account work,personal --unseen# 最近 6 小时(所有邮箱)node scripts/imap-monitor.js check --recent 6h# 获取邮件详情(必须指定账户)node scripts/imap-monitor.js fetch 42 --account work# 获取最近一封邮件详情(支持 --account / --recent / --unseen)node scripts/imap-monitor.js latest# 搜索所有邮箱node scripts/imap-monitor.js search --from "test@example.com" --unseen# 搜索指定账户node scripts/imap-monitor.js search --subject "会议" --account work# 标记已读(必须指定账户)node scripts/imap-monitor.js mark-read 42,43 --account work# 列出所有账户的文件夹node scripts/imap-monitor.js list-mailboxes# 启动实时邮件监控(IMAP IDLE 服务模式)node scripts/imap-monitor.js monitor# 只监控指定账户node scripts/imap-monitor.js monitor --account work# 发送邮件node scripts/imap-monitor.js send --to "test@example.com" --subject "标题" --body "正文内容" --account work# 发送带附件的邮件node scripts/imap-monitor.js send --to "test@example.com" --subject "附件邮件" --body "请查收附件" --attach "file1.pdf,file2.docx" --account work# 通过 stdin 传递正文(支持 Markdown)echo"# 标题\n\n这是**正文**" | node scripts/imap-monitor.js send --to "test@example.com" --subject "Markdown 邮件" --account work# 管道格式化node scripts/imap-monitor.js check --unseen | node scripts/summarize.jsnode scripts/imap-monitor.js fetch 42 --account work | node scripts/summarize.js --mode detailnode scripts/imap-monitor.js latest | node scripts/summarize.js --mode detailnode scripts/imap-monitor.js send --to "test@example.com" --subject "测试" --body "内容" --account work | node scripts/summarize.js --mode send📋 命令一览
check | --limit N--unseen--recent <time>--account <name> | |
fetch <uid> | --account <name> | |
latest | --unseen--recent <time>--account <name> | |
search | --from X--subject X--unseen--account <name> | |
mark-read <uids> | --account <name> | |
monitor | --account <name> | |
send | --to--subject--body--cc--attach--account <name> | |
list-mailboxes | --account <name> | |
list-accounts |
📁 目录结构
email-monitor-skill/├── SKILL.md # 技能定义(核心文件)├── README.md # 使用文档├── package.json # Node 依赖├── accounts.json.example # 多邮箱配置模板(含 IMAP + SMTP)├── .env.example # 单邮箱配置模板(向后兼容)└── scripts/ ├── imap-monitor.js # IMAP/SMTP 多邮箱监控与发送脚本 └── summarize.js # Markdown 摘要格式化工具依赖包
imapflow | |
mailparser | |
nodemailer | |
dotenv |
📸 事例截图

💡 使用建议
开启实时推送:适合需要及时处理邮件的工作场景 设置时间过滤:每天查看最近 24 小时邮件,避免信息过载 启用自动分类:重要邮件优先处理,账单通知定期查看 保护隐私:敏感信息自动隐藏,安全又放心
🔗 参考资料
原文地址:【nick2869114756】openclaw-skill-多邮箱监控、查看、发送邮件技能 https://tianchi.aliyun.com/forum/post/1001370 作者主页:nick2869114756 - 天池 https://tianchi.aliyun.com/home/science/scienceDetail?userId=1095281013521 关联比赛:"千模百炼"全球 AI 开发者系列锦标赛:OpenClaw 养虾挑战赛 https://tianchi.aliyun.com/competition/entrance/532462/introduction GitHub 仓库:https://github.com/erxiansheng/email-monitor
本文整理自天池技术圈,如有侵权请联系删除。
关注公众号,获取更多 AI 实战技巧!
夜雨聆风