From sundial-org-awesome-openclaw-skills-4
Read and manage email via IMAP (ProtonMail Bridge, Gmail). Check new/unread, fetch content, search mailboxes, mark as read/unread.
How this skill is triggered — by the user, by Claude, or both
Slash command
/sundial-org-awesome-openclaw-skills-4:imap-emailThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Read, search, and manage email via IMAP protocol. Supports ProtonMail Bridge, Gmail IMAP, and any standard IMAP server.
Read, search, and manage email via IMAP protocol. Supports ProtonMail Bridge, Gmail IMAP, and any standard IMAP server.
Check for new emails:
node skills/imap-email/scripts/imap.js check
Fetch specific email:
node skills/imap-email/scripts/imap.js fetch <uid>
Mark as read:
node skills/imap-email/scripts/imap.js mark-read <uid>
Search mailbox:
node skills/imap-email/scripts/imap.js search --from "[email protected]" --unseen
Create .env in the skill folder or set environment variables:
IMAP_HOST=127.0.0.1 # Server hostname
IMAP_PORT=1143 # Server port
[email protected]
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
ProtonMail Bridge setup:
127.0.0.1:1143 for IMAPfalse (Bridge uses STARTTLS)REJECT_UNAUTHORIZED: Set to false (Bridge uses self-signed cert)Gmail IMAP setup:
imap.gmail.com993trueREJECT_UNAUTHORIZED: Omit or set to true (default)Check for unread/new emails in mailbox.
node scripts/imap.js check [--limit 10] [--mailbox INBOX] [--recent 2h]
Options:
--limit <n>: Max results (default: 10)--mailbox <name>: Mailbox to check (default: INBOX)--recent <time>: Only show emails from last X time (e.g., 30m, 2h, 7d)Returns JSON array of messages with:
Fetch full email content by UID.
node scripts/imap.js fetch <uid> [--mailbox INBOX]
Returns JSON with full body (text + HTML).
Search emails with filters.
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)
Time format examples:
30m = last 30 minutes2h = last 2 hours7d = last 7 daysMark message(s) as read or unread.
node scripts/imap.js mark-read <uid> [uid2 uid3...]
node scripts/imap.js mark-unread <uid> [uid2 uid3...]
List all available mailboxes/folders.
node scripts/imap.js list-mailboxes
Set up periodic email checking with 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"
Inside the isolated session, the agent can run:
node /Users/mike/clawd/skills/imap-email/scripts/imap.js check --limit 5
Morning email digest:
check --limit 10 --recent 12hCheck recent emails from specific sender:
search --from "[email protected]" --recent 24hHourly urgent email check:
search --recent 1h --unseenWeekly digest:
search --recent 7d --limit 20Install in skill folder:
cd skills/imap-email
npm install imap-simple dotenv
Or install globally:
npm install -g imap-simple dotenv
.env (add to .gitignore)Connection timeout:
telnet <host> <port>Authentication failed:
TLS/SSL errors:
IMAP_TLS setting to server requirements (true for SSL, false for STARTTLS)IMAP_REJECT_UNAUTHORIZED=falseEmpty results:
list-mailboxesnpx claudepluginhub joshuarweaver/cascade-ai-ml-agents-misc-2 --plugin sundial-org-awesome-openclaw-skills-4Reads and sends email via IMAP/SMTP. Checks for new messages, fetches content, searches, marks as read/unread, and sends attachments. Works with Gmail, Outlook, 163, 126, 188.
Manages email via Himalaya CLI: lists inboxes/folders, reads unread messages, sends/replies/forwards emails, switches accounts. Use for read/send email tasks.