跳至主要内容
小龙虾小龙虾AI
🤖

电子邮件管理精简版

轻量级电子邮件管理器,支持IMAP/SMTP协议,具备高级搜索、文件夹管理及附件检测功能。可与Zoho、Gmail、Outlook及任何IMAP/SMTP提供商兼容使用。

下载2.1k
星标2
版本1.0.1
general
安全通过
⚙️脚本

技能说明


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)
  • readsearch 结果中显示

🔧 安装

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 (默认):

Gmail:

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> <文件夹名称>

重要提示:

  • readsearch 输出中获取 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 服务器

💡 提示

  1. **使用 UID 实现自动化:**保存搜索结果中的 UID,以便以编程方式移动邮件
  2. **组合筛选条件:**多个筛选条件形成 AND 逻辑,可进行精确搜索
  3. **文件夹组织:**首先列出文件夹,以便规划组织策略
  4. **日期格式:**使用自然语言日期,如 "Jan 1, 2026" 或 "December 25, 2025"
  5. **附件筛选:**在搜索结果中查找 "Attachments: X" 以找到包含文件的邮件

📄 许可证

ISC - 可在您的 OpenClaw 设置中自由使用。

如何使用「电子邮件管理精简版」?

  1. 打开小龙虾AI(Web 或 iOS App)
  2. 点击上方「立即使用」按钮,或在对话框中输入任务描述
  3. 小龙虾AI 会自动匹配并调用「电子邮件管理精简版」技能完成任务
  4. 结果即时呈现,支持继续对话优化

相关技能