IMAP IDLE Watcher
/install imap-idle-watcher
IMAP IDLE Watcher
Real-time email watcher. Uses IMAP IDLE (server push) instead of polling. App passwords instead of OAuth — no token expiry, no re-auth.
Quick Start
Interactive
bash scripts/setup_service.sh
Prompts for email, detects provider, gives app password link, tests connection, installs service.
Non-interactive
bash scripts/setup_service.sh \
--account "[email protected]" \
--password "xxxx xxxx xxxx xxxx" \
--command "python3 /path/to/handler.py" \
--service-name my-watcher
Test connection only
bash scripts/setup_service.sh --test --account "[email protected]" --password "xxxx"
Configuration (env vars)
| Variable | Default | Description |
|---|---|---|
IMAP_ACCOUNT |
(required) | Email address |
IMAP_PASSWORD |
(required) | App password |
IMAP_HOST |
imap.gmail.com |
IMAP server (auto-detected from email) |
IMAP_PORT |
993 |
IMAP port |
IMAP_FOLDER |
INBOX |
Folder to watch |
ON_NEW_MAIL_CMD |
(optional) | Shell command to run on new mail |
FILTER_FROM |
(optional) | Only trigger for these senders (comma-separated, substring match) |
FILTER_SUBJECT |
(optional) | Only trigger for these subjects (comma-separated, substring match) |
IDLE_TIMEOUT |
1200 |
Seconds before IDLE renewal (max 1740) |
DEBOUNCE_SECONDS |
10 |
Min seconds between command runs |
Filtering
Only process emails matching specific senders or subjects:
FILTER_FROM=paypal.com,stripe.com # from contains either (OR)
FILTER_SUBJECT=payment,invoice # subject contains either (OR)
- Case-insensitive substring match
- Both FROM and SUBJECT must match if both set (AND)
- Within each filter, any value matches (OR)
- No filter set = process all emails
Writing a Handler
The agent should write a handler script based on the user's intent. The daemon passes email metadata as env vars:
| Variable | Example |
|---|---|
MAIL_FROM |
John Doe \[email protected]> |
MAIL_SUBJECT |
Your order has shipped |
MAIL_DATE |
Mon, 17 Mar 2026 10:30:00 +0700 |
MAIL_UID |
12345 |
Workflow
- User describes what they want (e.g. "watch my inbox, summarize new emails")
- Agent writes a handler script (Python/Bash) that reads the env vars and does what the user asked
- Agent saves it somewhere persistent (e.g.
~/email-handler.py) - Agent runs
setup_service.shwith--command "python3 ~/email-handler.py"
Example: user says "notify me about new emails"
Agent writes ~/email-handler.py:
#!/usr/bin/env python3
import os
print(f"New mail from {os.environ.get('MAIL_FROM', '?')}: {os.environ.get('MAIL_SUBJECT', '?')}")
Then wires it up:
bash scripts/setup_service.sh --account "[email protected]" --password "xxxx" \
--command "python3 ~/email-handler.py"
The handler is the agent's job — adapt it to whatever the user needs.
How It Works
- Connects to IMAP server with app password (SSL)
- Enters IDLE mode — server holds connection open
- Server pushes notification when new mail arrives (instant, no polling)
- Daemon runs
ON_NEW_MAIL_CMDwith email metadata as env vars (MAIL_FROM,MAIL_SUBJECT,MAIL_DATE,MAIL_UID) - Returns to IDLE. Renews every 20 min per RFC 2177.
- Auto-reconnects on disconnect (backoff: 5s → 10s → 30s → 60s → 120s)
Service Management
systemctl status \x3Cservice-name>
journalctl -u \x3Cservice-name> -f
systemctl restart \x3Cservice-name>
systemctl stop \x3Cservice-name>
Uninstall
bash scripts/setup_service.sh --uninstall --service-name \x3Cservice-name>
Provider Setup Guides
- Gmail: see references/gmail.md
- Outlook: see references/outlook.md
- Yahoo: see references/yahoo.md
Troubleshooting
See references/troubleshooting.md for common errors and fixes.
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install imap-idle-watcher - 安装完成后,直接呼叫该 Skill 的名称或使用
/imap-idle-watcher触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
IMAP IDLE Watcher 是什么?
Real-time email monitoring using IMAP IDLE — no OAuth, no token expiration. Sets up a persistent connection to any IMAP server (Gmail, Outlook, Yahoo, etc.)... 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 222 次。
如何安装 IMAP IDLE Watcher?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install imap-idle-watcher」即可一键安装,无需额外配置。
IMAP IDLE Watcher 是免费的吗?
是的,IMAP IDLE Watcher 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
IMAP IDLE Watcher 支持哪些平台?
IMAP IDLE Watcher 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 IMAP IDLE Watcher?
由 Axellageraldinc Adryamarthanino(@axellageraldinc)开发并维护,当前版本 v1.1.0。