Skill

SkillsProductivity & Integrations › Communication

himalaya

CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language).

Freerisk: medium
himalayarust

The full skill

— name: himalaya description: "CLI to manage emails via IMAP/SMTP. Use `himalaya` to list, read, write, reply, forward, search, and organize emails from the terminal. Supports multiple accounts and message composition with MML (MIME Meta Language)." homepage: https://github.com/pimalaya/himalaya metadata: { "openclaw": { "emoji": "📧", "requires": { "bins": ["himalaya"] }, "install": [ { "id": "brew", "kind": "brew", "formula": "himalaya", "bins": ["himalaya"], "label": "Install Himalaya (brew)", }, ], }, } — # Himalaya Email CLI Himalaya is a CLI email client that lets you manage emails from the terminal using IMAP, SMTP, Notmuch, or Sendmail backends. ## References – `references/configuration.md` (config file setup + IMAP/SMTP authentication) – `references/message-composition.md` (MML syntax for composing emails) ## Prerequisites 1. Himalaya CLI installed (`himalaya –version` to verify) 2. A configuration file at `~/.config/himalaya/config.toml` 3. IMAP/SMTP credentials configured (password stored securely) ## Configuration Setup Run the interactive wizard to set up an account: “`bash himalaya account configure “` Or create `~/.config/himalaya/config.toml` manually: “`toml [accounts.personal] email = "[email protected]" display-name = "Your Name" default = true backend.type = "imap" backend.host = "imap.example.com" backend.port = 993 backend.encryption.type = "tls" backend.login = "[email protected]" backend.auth.type = "password" backend.auth.cmd = "pass show email/imap" # or use keyring message.send.backend.type = "smtp" message.send.backend.host = "smtp.example.com" message.send.backend.port = 587 message.send.backend.encryption.type = "start-tls" message.send.backend.login = "[email protected]" message.send.backend.auth.type = "password" message.send.backend.auth.cmd = "pass show email/smtp" “` ## Common Operations ### List Folders “`bash himalaya folder list “` ### List Emails List emails in INBOX (default): “`bash himalaya envelope list “` List emails in a specific folder: “`bash himalaya envelope list –folder "Sent" “` List with pagination: “`bash himalaya envelope list –page 1 –page-size 20 “` ### Search Emails “`bash himalaya envelope list from [email protected] subject meeting “` ### Read an Email Read email by ID (shows plain text): “`bash himalaya message read 42 “` Export raw MIME: “`bash himalaya message export 42 –full “` ### Reply to an Email Interactive reply (opens $EDITOR): “`bash himalaya message reply 42 “` Reply-all: “`bash himalaya message reply 42 –all “` ### Forward an Email “`bash himalaya message forward 42 “` ### Write a New Email Interactive compose (opens $EDITOR): “`bash himalaya message write “` Send directly using template: “`bash cat << 'EOF' | himalaya template send From: [email protected] To: [email protected] Subject: Test Message Hello from Himalaya! EOF “` Or with headers flag: “`bash himalaya message write -H "To:[email protected]" -H "Subject:Test" "Message body here" “` ### Move/Copy Emails Move to folder: “`bash himalaya message move 42 "Archive" “` Copy to folder: “`bash himalaya message copy 42 "Important" “` ### Delete an Email “`bash himalaya message delete 42 “` ### Manage Flags Add flag: “`bash himalaya flag add 42 –flag seen “` Remove flag: “`bash himalaya flag remove 42 –flag seen “` ## Multiple Accounts List accounts: “`bash himalaya account list “` Use a specific account: “`bash himalaya –account work envelope list “` ## Attachments Save attachments from a message: “`bash himalaya attachment download 42 “` Save to specific directory: “`bash himalaya attachment download 42 –dir ~/Downloads “` ## Output Formats Most commands support `–output` for structured output: “`bash himalaya envelope list –output json himalaya envelope list –output plain “` ## Debugging Enable debug logging: “`bash RUST_LOG=debug himalaya envelope list “` Full trace with backtrace: “`bash RUST_LOG=trace RUST_BACKTRACE=1 himalaya envelope list “` ## Tips – Use `himalaya –help` or `himalaya <command> –help` for detailed usage. – Message IDs are relative to the current folder; re-list after folder changes. – For composing rich emails with attachments, use MML syntax (see `references/message-composition.md`). – Store passwords securely using `pass`, system keyring, or a command that outputs the password.