175 lines
4.0 KiB
Markdown
175 lines
4.0 KiB
Markdown
# 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 <account>` 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"
|
|
```
|