Install
openclaw skills install @amrree/sol-emailRead and send emails using the SolEmail automation system. Use when asked to check emails, send files via email, respond to an email, or set up email automation.
openclaw skills install @amrree/sol-emailAutomated email reading and sending via himalaya (local Maildir) and SMTP.
All scripts live in ~/.openclaw/workspace/scripts/:
agentmail-send.py — send emailsagentmail-inbox.py — read emailsfind-zip-email.py — find files, zip, emailbrew install himalaya~/.config/himalaya/config.toml.env.example in SolEmail repo):
SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASSWORD, FROM_NAMEpython3 ~/.openclaw/workspace/scripts/agentmail-inbox.py --limit 10
python3 ~/.openclaw/workspace/scripts/agentmail-inbox.py --unread-only
python3 ~/.openclaw/workspace/scripts/agentmail-inbox.py --read 42
python3 ~/.openclaw/workspace/scripts/agentmail-send.py \
--to "recipient@example.com" \
--subject "Subject here" \
--body "Email body text"
python3 ~/.openclaw/workspace/scripts/agentmail-send.py \
--to "recipient@example.com" \
--subject "Your files" \
--body "Please find the files attached." \
--attachment "/path/to/file1.pdf" \
--attachment "/path/to/file2.zip"
python3 ~/.openclaw/workspace/scripts/find-zip-email.py \
--find "*.pdf" \
--search-dir ~/Downloads \
--to "recipient@example.com" \
--subject "Your PDFs" \
--body "As requested."
himalaya sync && python3 ~/.openclaw/workspace/scripts/agentmail-inbox.py --limit 10
~/.config/himalaya/config.toml:
[[accounts]]
name = "icloud"
[accounts.icloud.imap]
host = "imap.mail.me.com" # or imap.gmail.com for Gmail
port = 993
username = "yourname@icloud.com"
password = "xxxx-xxxx-xxxx-xxxx" # App-specific password, NOT your real password
ssl = true
[accounts.icloud.smtp]
host = "smtp.mail.me.com"
port = 587
username = "yourname@icloud.com"
password = "xxxx-xxxx-xxxx-xxxx"
starttls = true
Set in ~/.openclaw/workspace/.env:
SMTP_HOST=smtp.mail.me.com
SMTP_PORT=587
SMTP_USER=yourname@icloud.com
SMTP_PASSWORD=xxxx-xxxx-xxxx-xxxx
FROM_NAME=Your Name
App password is wrong or expired. Generate a new one at appleid.apple.com.
Run himalaya sync first to download emails from the server.
Try port 465 (SSL) instead of 587 (STARTTLS).
Install: brew install himalaya
Set up automated email checks via OpenClaw cron:
name: Email check
schedule: "*/15 * * * *"
command: "himalaya sync && python3 ~/.openclaw/workspace/scripts/agentmail-inbox.py --unread-only"
Or add to HEARTBEAT.md in the workspace for heartbeat-based checking.