# Himalaya Configuration Reference Configuration file location: `~/.config/himalaya/config.toml` ## Minimal IMAP + SMTP Setup ```toml [accounts.default] email = "user@example.com" display-name = "Your Name" default = true # IMAP backend for reading emails backend.type = "imap" backend.host = "imap.example.com" backend.port = 993 backend.encryption.type = "tls" backend.login = "user@example.com" backend.auth.type = "password" backend.auth.raw = "your-password" # SMTP backend for sending emails 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 = "user@example.com" message.send.backend.auth.type = "password" message.send.backend.auth.raw = "your-password" ``` ## Password Options ### Raw password (testing only, not recommended) ```toml backend.auth.raw = "your-password" ``` ### Password from command (recommended) ```toml backend.auth.cmd = "pass show email/imap" # backend.auth.cmd = "security find-generic-password -a user@example.com -s imap -w" ``` ### System keyring (requires keyring feature) ```toml backend.auth.keyring = "imap-example" ``` Then run `himalaya account configure ` to store the password. ## Gmail Configuration ```toml [accounts.gmail] email = "you@gmail.com" display-name = "Your Name" default = true backend.type = "imap" backend.host = "imap.gmail.com" backend.port = 993 backend.encryption.type = "tls" backend.login = "you@gmail.com" backend.auth.type = "password" backend.auth.cmd = "pass show google/app-password" message.send.backend.type = "smtp" message.send.backend.host = "smtp.gmail.com" message.send.backend.port = 587 message.send.backend.encryption.type = "start-tls" message.send.backend.login = "you@gmail.com" message.send.backend.auth.type = "password" message.send.backend.auth.cmd = "pass show google/app-password" ``` **Note:** Gmail requires an App Password if 2FA is enabled. ## iCloud Configuration ```toml [accounts.icloud] email = "you@icloud.com" display-name = "Your Name" backend.type = "imap" backend.host = "imap.mail.me.com" backend.port = 993 backend.encryption.type = "tls" backend.login = "you@icloud.com" backend.auth.type = "password" backend.auth.cmd = "pass show icloud/app-password" message.send.backend.type = "smtp" message.send.backend.host = "smtp.mail.me.com" message.send.backend.port = 587 message.send.backend.encryption.type = "start-tls" message.send.backend.login = "you@icloud.com" message.send.backend.auth.type = "password" message.send.backend.auth.cmd = "pass show icloud/app-password" ``` **Note:** Generate an app-specific password at appleid.apple.com ## Folder Aliases Map custom folder names: ```toml [accounts.default.folder.alias] inbox = "INBOX" sent = "Sent" drafts = "Drafts" trash = "Trash" ``` ## Multiple Accounts ```toml [accounts.personal] email = "personal@example.com" default = true # ... backend config ... [accounts.work] email = "work@company.com" # ... backend config ... ``` Switch accounts with `--account`: ```bash himalaya --account work envelope list ``` ## Notmuch Backend (local mail) ```toml [accounts.local] email = "user@example.com" backend.type = "notmuch" backend.db-path = "~/.mail/.notmuch" ``` ## OAuth2 Authentication (for providers that support it) ```toml backend.auth.type = "oauth2" backend.auth.client-id = "your-client-id" backend.auth.client-secret.cmd = "pass show oauth/client-secret" backend.auth.access-token.cmd = "pass show oauth/access-token" backend.auth.refresh-token.cmd = "pass show oauth/refresh-token" backend.auth.auth-url = "https://provider.com/oauth/authorize" backend.auth.token-url = "https://provider.com/oauth/token" ``` ## Additional Options ### Signature ```toml [accounts.default] signature = "Best regards,\nYour Name" signature-delim = "-- \n" ``` ### Downloads directory ```toml [accounts.default] downloads-dir = "~/Downloads/himalaya" ``` ### Editor for composing Set via environment variable: ```bash export EDITOR="vim" ```