用途:通过 IMAP 读取、搜索和管理邮件,通过 SMTP 发送邮件,支持 Gmail、Outlook、163.com、vip.163.com、126.com、vip.126.com、188.com、vip.188.com 及任意标准 IMAP/SMTP 服务器。
主要能力:IMAP 侧提供 check(检查新/未读邮件)、fetch(按 UID 获取完整内容)、download(下载全部或指定附件)、search(按未读/已读、发件人、主题、时间、日期过滤)、mark-read/mark-unread、list-mailboxes、list-accounts;SMTP 侧提供 send(支持纯文本、HTML、抄送、密送、附件、自定义发件人)与 test(向自己发测试邮件)。
使用方式:先运行 bash setup.sh 安装依赖并配置账号;手动运行时先执行 npm install --production。配置存于 ~/.config/mail-skills/.env(旧版为 ~/.config/imap-smtp-email/.env,优先级更高),含 PROVIDER、USERNAME、PASSWORD 及文件访问白名单 ALLOWED_READ_DIRS、ALLOWED_WRITE_DIRS。自定义服务器用 PROVIDER=custom 并填 IMAP_HOST/SMTP_HOST。多账号在变量前加大写前缀,命令中用 --account <name> 指定。常用命令如 node scripts/imap.js check、node scripts/imap.js search --unseen、node scripts/smtp.js send --to <email> --subject <text> --body <text>。
适用场景:自动化收发邮件、检索与整理邮箱、下载附件、批量标记状态。
限制:Gmail 需使用应用专用密码(需开启两步验证),163.com 需使用授权码并先在网页端开启 IMAP/SMTP;网易系账号的文本 SEARCH 由服务端返回空,改为客户端过滤,无日期/标志条件时仅扫描最近 200 封(meta.truncated=true)。自签名证书需设置 IMAP_REJECT_UNAUTHORIZED=false 或 SMTP_REJECT_UNAUTHORIZED=false。配置文件权限为 600。