🤖
电子邮件管理精简版
轻量级电子邮件管理器,支持IMAP/SMTP协议,具备高级搜索、文件夹管理及附件检测功能。可与Zoho、Gmail、Outlook及任何IMAP/SMTP提供商兼容使用。
安全通过
⚙️脚本
技能说明
name: 便携式邮件管理器 version: 0.2.0 description: 轻量级邮件管理器,支持 IMAP/SMTP、高级搜索、文件夹管理和附件检测。兼容 Zoho、Gmail、Outlook 和任何 IMAP/SMTP 提供商。
Email Manager Lite v0.2
OpenClaw 的全功能邮件管理技能。使用标准 IMAP 和 SMTP 协议,无需外部依赖。
✨ v0.2 新增功能
🔍 高级搜索与过滤
- 按发件人搜索 (
--from) - 按主题关键词搜索 (
--subject) - 按日期范围过滤 (
--since,--before) - 按已读/未读状态过滤 (
--seen,--unseen) - 在邮件正文中搜索 (
--body,注意:可能较慢)
📁 文件夹管理
- 使用
folders命令列出所有 IMAP 文件夹 - 使用
move命令在文件夹间移动邮件 - 自动验证文件夹存在性
📎 附件信息
- 自动检测附件
- 显示附件详情:
- 文件名
- MIME 类型
- 文件大小(格式化 KB/MB)
- 在
read和search结果中显示
🔧 安装
cd skills/portable-email-manager
npm install
依赖项打包在 package.json 中:
nodemailer- SMTP 邮件发送imap-simple- IMAP 操作mailparser- 邮件解析与附件检测
🔐 凭证
设置以下环境变量:
export EMAIL_USER="your.email@domain.com"
export EMAIL_PASS="your-app-password"
推荐: 对于 Gmail、Outlook、Zoho,使用 App Password 而不是主密码。
提供商设置
Zoho Mail (默认):
- 已配置为
smtp.zoho.eu和imap.zoho.eu - 生成 App Password:https://accounts.zoho.eu/home#security/apppasswords
Gmail:
- 编辑
scripts/email.js并修改:host: 'smtp.gmail.com' // SMTP host: 'imap.gmail.com' // IMAP - 启用双重验证并创建 App Password:https://myaccount.google.com/apppasswords
Outlook/Hotmail:
- 编辑以使用
smtp.office365.com/outlook.office365.com - SMTP (TLS) 使用端口 587
📖 使用说明
发送邮件
./scripts/email.js send "收件人@example.com" "主题" "邮件正文"
示例:
./scripts/email.js send "boss@company.com" "周报" "附件是本周的总结。"
读取最近的邮件
./scripts/email.js read [限制数量]
示例:
# 读取最后 5 封邮件(默认)
./scripts/email.js read
# 读取最后 20 封邮件
./scripts/email.js read 20
输出内容包括:
- UID(用于移动的唯一标识符)
- 发件人/收件人地址
- 主题和日期
- 附件数量及详情
- 邮件正文预览(前 500 字符)
高级搜索
./scripts/email.js search [选项]
搜索选项:
| 选项 | 描述 | 示例 |
|---|---|---|
--from <邮箱> | 按发件人过滤 | --from "boss@company.com" |
--subject <文本> | 按主题关键词过滤 | --subject "invoice" |
--since <日期> | 指定日期之后的邮件 | --since "Jan 1, 2026" |
--before <日期> | 指定日期之前的邮件 | --before "Feb 1, 2026" |
--unseen | 仅未读邮件 | --unseen |
--seen | 仅已读邮件 | --seen |
--body <文本> | 在正文中搜索(较慢!) | --body "meeting" |
--limit <数量> | 最大结果数 | --limit 10 |
示例:
# 查找来自特定发件人的未读邮件
./scripts/email.js search --from "client@example.com" --unseen
# 按主题搜索
./scripts/email.js search --subject "invoice" --limit 5
# 日期范围搜索
./scripts/email.js search --since "Jan 15, 2026" --before "Feb 1, 2026"
# 在正文中搜索(谨慎使用 - 可能会很慢)
./scripts/email.js search --body "quarterly review"
# 组合多个过滤器
./scripts/email.js search --from "boss@company.com" --subject "urgent" --unseen --limit 3
列出文件夹
./scripts/email.js folders
显示所有 IMAP 文件夹的层次结构及其属性。
示例输出:
📁 INBOX
📁 Sent
📁 Archive
📁 Drafts
📁 Spam
📁 Trash
将邮件移动到文件夹
./scripts/email.js move <uid> <文件夹名称>
重要提示:
- 从
read或search输出中获取uid - 文件夹名称区分大小写
- 移动前脚本会验证文件夹是否存在
示例:
# 首先,找到邮件并记下其 UID
./scripts/email.js search --from "newsletter@example.com"
# 输出显示: UID: 12345
# 移动到 Archive 文件夹
./scripts/email.js move 12345 "Archive"
# 移动到自定义文件夹
./scripts/email.js move 67890 "Projects/Work"
错误处理:
- 如果文件夹不存在,会显示可用文件夹列表
- 在尝试移动前验证 UID 是否存在
帮助
./scripts/email.js help
显示完整的使用指南,包含所有命令和示例。
🎯 使用场景
日常邮件处理
# 检查未读邮件
./scripts/email.js search --unseen --limit 10
# 将新闻邮件移动到文件夹
./scripts/email.js search --from "newsletter@site.com" --limit 1
./scripts/email.js move <uid> "Newsletters"
查找特定邮件
# 按发件人和主题搜索
./scripts/email.js search --from "client@example.com" --subject "proposal"
# 按日期搜索
./scripts/email.js search --since "Jan 20, 2026" --subject "meeting notes"
归档旧邮件
# 查找旧的已读邮件
./scripts/email.js search --before "Dec 1, 2025" --seen --limit 50
# 将每封邮件移动到归档文件夹(使用输出中的 UID)
./scripts/email.js move <uid> "Archive"
检查附件
# 阅读最近的邮件并查看附件信息
./scripts/email.js read 10
# 搜索输出自动显示:
# - 附件数量
# - 每个附件的文件名、类型和大小
🔒 安全性
- 凭证从未记录或存储在文件中
- 所有连接均使用 TLS/SSL 加密
- 推荐使用 App Passwords 而非账户密码
- 除 IMAP/SMTP 连接外,数据不会离开您的设备
⚙️ 配置
默认配置已针对 Zoho Mail EU 进行优化。
要使用其他提供商,请编辑 scripts/email.js:
// SMTP 配置
const smtpConfig = {
host: 'smtp.your-provider.com',
port: 465, // 或使用 587 表示 TLS
secure: true, // true 表示 SSL (465),false 表示 TLS (587)
auth: {
user: EMAIL_USER,
pass: EMAIL_PASS
}
};
// IMAP 配置
const imapConfig = {
imap: {
user: EMAIL_USER,
password: EMAIL_PASS,
host: 'imap.your-provider.com',
port: 993,
tls: true,
authTimeout: 20000
}
};
🚀 性能注意事项
- 正文搜索 (
--body) 在大邮箱中可能较慢 - 请谨慎使用 - 主题/发件人搜索 速度很快 - 使用 IMAP 服务器端过滤
- 日期过滤器 效率高
- 使用
--limit限制结果以加快响应速度
🐛 故障排除
"身份验证失败"
- 确认 EMAIL_USER 和 EMAIL_PASS 设置正确
- 使用 App Password,而非账户密码
- 检查提供商设置(如双因素认证、低安全等级应用等)
"文件夹未找到"
- 使用
folders命令查看确切文件夹名称 - 文件夹名称区分大小写
- 某些提供商使用不同的名称(例如,"Sent Items" 与 "Sent")
"连接超时"
- 检查防火墙/网络设置
- 确认 IMAP/SMTP 端口可访问
- 尝试增加配置文件中的
authTimeout
"未找到邮件"
- 检查搜索条件
- 确认邮件存在于 INBOX(而非其他文件夹)
- 尝试更广泛的搜索(移除部分筛选条件)
📝 版本历史
v0.2.0 (当前版本)
- ✨ 支持多条件的高级搜索
- 📁 文件夹管理(列出、移动)
- 📎 附件检测与信息显示
- 🎨 改进的输出格式
- 📚 全面的文档
v0.1.0
- 基本的发送/阅读功能
- 支持 Zoho Mail
- IMAP/SMTP 基础功能
🤝 兼容性
已测试支持:
- ✅ Zoho Mail(欧盟和北美)
- ✅ Gmail
- ✅ Outlook/Hotmail
- ✅ iCloud Mail
- ✅ 自定义 IMAP/SMTP 服务器
💡 提示
- **使用 UID 实现自动化:**保存搜索结果中的 UID,以便以编程方式移动邮件
- **组合筛选条件:**多个筛选条件形成 AND 逻辑,可进行精确搜索
- **文件夹组织:**首先列出文件夹,以便规划组织策略
- **日期格式:**使用自然语言日期,如 "Jan 1, 2026" 或 "December 25, 2025"
- **附件筛选:**在搜索结果中查找 "Attachments: X" 以找到包含文件的邮件
📄 许可证
ISC - 可在您的 OpenClaw 设置中自由使用。
如何使用「电子邮件管理精简版」?
- 打开小龙虾AI(Web 或 iOS App)
- 点击上方「立即使用」按钮,或在对话框中输入任务描述
- 小龙虾AI 会自动匹配并调用「电子邮件管理精简版」技能完成任务
- 结果即时呈现,支持继续对话优化