核心功能
imap-email是一款基于IMAP协议的邮件管理工具,支持与任何标准IMAP服务器交互,包括ProtonMail Bridge、Gmail、企业邮箱等。该技能提供完整的邮件生命周期管理能力:检查未读邮件、获取完整邮件内容、多条件搜索、标记已读/未读状态,以及列出邮箱文件夹。
核心命令设计简洁高效:check快速扫描新邮件并返回摘要(发件人、主题、时间、预览片段);fetch获取指定UID的完整邮件内容(含HTML和纯文本);search支持复合过滤条件,包括时间范围(30m/2h/7d等友好格式)、发件人、主题、已读状态等;mark-read/mark-unread实现批量状态管理。所有命令返回结构化JSON,便于自动化流程集成。
显著优点
1. 隐私优先设计:原生支持ProtonMail Bridge,让用户在享受端到端加密的同时获得IMAP访问能力,密码使用Bridge生成的独立凭证而非主账户密码
2. 灵活的时间语法:--recent参数支持人类友好的时间表达(30m、2h、7d),大幅降低定时任务配置复杂度
3. 完善的Cron集成:与Clawdbot调度系统深度整合,支持isolated session执行,可构建"每15分钟检查+IMessage推送摘要"等自动化工作流
4. 多邮箱兼容:通过环境变量配置即可适配Gmail(993端口+SSL)、ProtonMail Bridge(1143端口+STARTTLS)等不同安全策略的服务器
5. 开发友好:返回标准JSON格式,便于后续脚本处理和数据管道集成
潜在局限与风险
安全层面:.env文件存储明文密码,虽已加入.gitignore防止误提交,但仍存在本地文件泄露风险;IMAP_REJECT_UNAUTHORIZED=false为自签名证书场景必需,但会禁用TLS证书验证,存在中间人攻击可能。
功能层面:依赖外部IMAP服务可用性,ProtonMail Bridge需常驻运行;不支持邮件发送(纯读取工具);无内置缓存机制,频繁查询可能触发服务商速率限制;HTML邮件渲染依赖客户端,存在潜在XSS风险(虽未提及内容过滤)。
运维层面:Node.js依赖项(imap-simple、mailparser)维护状态需关注;无内置重试和断线重连机制;错误处理以控制台输出为主,生产环境需额外封装。
适合人群
- 隐私敏感用户:ProtonMail重度用户需要自动化邮件处理
- 效率工具爱好者:希望构建"定时摘要+多渠道推送"工作流
- 开发者/运维:需要脚本化邮件监控和报警通知
- 多账户管理者:需要统一工具查询多个IMAP邮箱
常规风险提示
1. 凭证管理:建议使用Gmail App专用密码,避免主密码泄露;定期轮换Bridge密码
2. 网络暴露:Bridge默认监听127.0.0.1,切勿改为0.0.0.0
3. 数据残留:邮件内容可能临时存储于日志或JSON输出,敏感场景需配置自动清理
4. 合规注意:自动化邮件处理需符合邮箱服务商ToS,Gmail"Less secure apps"设置即将废弃,应优先使用OAuth/App Password