网淘吧来吧,欢迎您!

返回首页 微信
微信
手机版
手机版

IMAP Email Reader

2026-03-28 新闻来源:网淘吧 围观:16
电脑广告
手机广告

IMAP 电子邮件阅读器

通过 IMAP 协议读取、搜索和管理电子邮件。支持 ProtonMail Bridge、Gmail IMAP 以及任何标准 IMAP 服务器。

快速开始

检查新邮件:

node skills/imap-email/scripts/imap.js check

获取特定邮件:

node skills/imap-email/scripts/imap.js fetch <uid>

标记为已读:

node skills/imap-email/scripts/imap.js mark-read <uid>

搜索邮箱:

node skills/imap-email/scripts/imap.js search --from "sender@example.com" --unseen

配置

快速设置(ProtonMail Bridge):

cd skills/imap-email
./setup.sh

设置助手将提示输入 Bridge 凭据并测试连接。

手动设置:

  1. 复制.env.example.env在技能文件夹中
  2. 填写您的 IMAP 凭据
  3. .env文件会被 git 自动忽略

环境变量:

IMAP_HOST=127.0.0.1          # Server hostname
IMAP_PORT=1143               # Server port
IMAP_USER=your@email.com
IMAP_PASS=your_password
IMAP_TLS=false               # Use TLS/SSL connection
IMAP_REJECT_UNAUTHORIZED=false  # Set to false for self-signed certs (optional)
IMAP_MAILBOX=INBOX           # Default mailbox

⚠️ 安全提示:切勿提交您的.env 文件!它已经在.gitignore中以防止意外。

ProtonMail Bridge 设置:

  • 安装并运行 ProtonMail Bridge
  • 使用127.0.0.1:1143作为 IMAP 服务器
  • 密码由 Bridge 生成(不是您的 ProtonMail 密码)
  • TLS:使用false(Bridge 使用 STARTTLS)
  • REJECT_UNAUTHORIZED:设置为false(Bridge 使用自签名证书)

Gmail IMAP 设置:

  • 主机:imap.gmail.com
  • 端口:993
  • TLS:true
  • 启用“安全性较低的应用的访问权限”或使用应用专用密码
  • REJECT_UNAUTHORIZED:省略或设置为true(默认值)

命令

check

检查邮箱中未读/新邮件。

node scripts/imap.js check [--limit 10] [--mailbox INBOX] [--recent 2h]

选项:

  • --limit <n>:最大结果数(默认:10)
  • --mailbox <name>:要检查的邮箱(默认:INBOX)
  • --recent <time>:仅显示最近 X 时间内的邮件(例如:30m、2h、7d)

返回包含以下信息的 JSON 数组:

  • uid、from、subject、date、snippet、flags

fetch

通过 UID 获取完整的邮件内容。

node scripts/imap.js fetch <uid> [--mailbox INBOX]

返回包含完整正文(文本 + HTML)的 JSON。

search

使用过滤器搜索邮件。

node scripts/imap.js search [options]

Options:
  --unseen           Only unread messages
  --seen             Only read messages
  --from <email>     From address contains
  --subject <text>   Subject contains
  --recent <time>    From last X time (e.g., 30m, 2h, 7d)
  --since <date>     After date (YYYY-MM-DD)
  --before <date>    Before date (YYYY-MM-DD)
  --limit <n>        Max results (default: 20)
  --mailbox <name>   Mailbox to search (default: INBOX)

时间格式示例:

  • 30m= 最近30分钟
  • 2小时= 最近2小时
  • 7天= 最近7天

标记为已读 / 标记为未读

将邮件标记为已读或未读。

node scripts/imap.js mark-read <uid> [uid2 uid3...]
node scripts/imap.js mark-unread <uid> [uid2 uid3...]

列出邮箱

列出所有可用的邮箱/文件夹。

node scripts/imap.js list-mailboxes

Cron 集成

使用 Clawdbot cron 设置定期邮件检查:

# Check email every 15 minutes, deliver to iMessage
clawdbot cron add \
  --name "email-check" \
  --cron "*/15 * * * *" \
  --session isolated \
  --message "Check for new ProtonMail emails and summarize them" \
  --deliver \
  --channel imessage \
  --to "+15085600825"

在隔离会话中,代理可以运行:

node /Users/mike/clawd/skills/imap-email/scripts/imap.js check --limit 5

工作流示例

早晨邮件摘要:

  1. 运行check --limit 10 --recent 12h
  2. 总结夜间未读邮件
  3. 将摘要发送到首选频道

检查来自特定发件人的最近邮件:

  1. 运行search --from "important@company.com" --recent 24h
  2. 如有需要,获取完整内容
  3. 处理完毕后标记为已读

每小时紧急邮件检查:

  1. 运行搜索 --recent 1h --unseen
  2. 筛选重要关键词
  3. 提取待办事项
  4. 如紧急则发送通知

每周摘要:

  1. 运行搜索 --recent 7d --limit 20
  2. 汇总活动
  3. 生成周报

依赖项

所需软件包:imap-simple, mailparser, dotenv

安装:

cd skills/imap-email
npm install

这将安装package.json中列出的所有依赖项

  • 安全注意事项将凭据存储在.env文件中ProtonMail Bridge密码不是您的账户密码
  • 必须运行Bridge才能访问ProtonMail IMAP
  • 考虑为Gmail使用应用专用密码
  • 故障排除

连接超时:

验证IMAP服务器是否正在运行且可访问

  • 检查主机/端口配置
  • 使用以下命令测试:
  • telnet <主机> <端口>认证失败:

验证用户名(通常是完整电子邮件地址)

  • 检查密码是否正确
  • 对于ProtonMail Bridge:使用Bridge生成的密码,而非账户密码
  • 对于Gmail:如果启用了双重验证,请使用应用密码
  • TLS/SSL错误:

使

  • IMAP_TLS设置符合服务器要求(SSL为true,STARTTLS为false)对于自签名证书(例如,ProtonMail Bridge):设置
  • IMAP_REJECT_UNAUTHORIZED=falseIMAP_REJECT_UNAUTHORIZED=false
  • 检查端口是否与TLS设置匹配(SSL对应993,STARTTLS对应143)

结果为空:

  • 验证邮箱名称(区分大小写)
  • 检查搜索条件
  • 列出包含以下内容的邮箱list-mailboxes
免责申明
部分文章来自各大搜索引擎,如有侵权,请与我联系删除。
打赏
文章底部电脑广告
手机广告位-内容正文底部
上一篇:Claude Code Usage 下一篇:Deep Research

相关文章

您是本站第279008名访客 今日有77篇新文章/评论