π¦ ClawHub
IMAP Email Reader
by @mvarrieur
Read and manage email via IMAP (ProtonMail Bridge, Gmail, etc.). Check for new/unread messages, fetch content, search mailboxes, and mark as read/unread. Works with any IMAP server including ProtonMail Bridge.
π‘ Examples
Check for new emails:
node skills/imap-email/scripts/imap.js check
Fetch specific email:
node skills/imap-email/scripts/imap.js fetch
Mark as read:
node skills/imap-email/scripts/imap.js mark-read
Search mailbox:
node skills/imap-email/scripts/imap.js search --from "sender@example.com" --unseen
βοΈ Configuration
Quick setup (ProtonMail Bridge):
cd skills/imap-email
./setup.sh
The setup helper will prompt for Bridge credentials and test the connection.Manual setup:
1. Copy .env.example to .env in the skill folder
2. Fill in your IMAP credentials
3. The .env file is automatically ignored by git
Environment variables:
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
β οΈ Security: Never commit your .env file! It's already in .gitignore to prevent accidents.
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)π Tips & Best Practices
Connection timeout:
telnet Authentication failed:
TLS/SSL errors:
IMAP_TLS setting to server requirements (true for SSL, false for STARTTLS)IMAP_REJECT_UNAUTHORIZED=falseEmpty results:
list-mailboxesTERMINAL
clawhub install imap-email