Terminal email client in Rust with TUI and CLI workflows. Everything is a file.
cargo install --path .Create ~/.vero.yml:
accounts:
- email: you@example.com
imap:
password: your-password
host: imap.example.com
smtp:
password: your-password
host: smtp.example.com
editor: vim
viewer: less
auto_refresh: 30
inbox_view: alleditor is used for compose and signatures.
viewer is used for opening emails from the TUI.
If either is missing, Vero falls back to $EDITOR.
verovero [--account <email-or-index>] [--json] <command>Useful commands:
vero accountsvero --account work inbox list --filter unseenvero --account work inbox show 4242vero --account work inbox delete 4242vero --account work inbox unread-countvero --account work sent list --limit 20vero --account work sent show 1vero --account work send --to alice@example.com --subject "Ping" --body "Hi"vero --account work send --draft draft.emlcat draft.eml | vero --account work send --draft -vero draft template --output draft.eml
Use --json when another tool or model should parse the output instead of eyeballing it.
j/kor↑/↓: moveEnter: open or selectTab: switch screensEsc: back/: search the current listgg/G: jump to top or bottomq: quit
r: refreshd: deleteu/s/a: unseen, seen, alle: open invieweror$EDITOR
- Works in inbox, sent, and drafts
- Inbox search works in all list filters:
all,unseen,seen - Matches subject plus sender/contact fields
- Filters live as you type
The editor opens with:
to: recipient@example.com
cc:
bcc:
subject: Your subject
attachments: ~/file.pdf
body: Your message here
Required fields: to, subject
Compose and signature editing use editor or $EDITOR.
TUI compose and vero send --draft use the same plain-text format:
to: recipient@example.com
cc:
bcc:
subject: Your subject
attachments: ~/file.pdf
body: Your message here
~/.vero/<account>/
├── drafts/
├── inbox/
├── seen/
└── sent/
All files are human-readable .eml format.
src/cli/: parsing, commands, outputsrc/services/: shared mail operationssrc/tui/: runtime, handlers, UIsrc/storage/: local.emlpersistencesrc/email/imap_client/: IMAP fetch and body parsing
AGPL-3.0
Built with Rust • v2.0.0