simplemailclient-0.1.1 is not a library.
simplemailclient
A small terminal mail client written in Rust. It sends mail over SMTP, fetches over IMAP, and gives you a split-pane TUI for reading, replying, and composing.
The installed binary is named mailrs (avoids clashing with the standard
Unix mail command).
Features
- TUI inbox — folders (Inbox / Sent / Starred / Trash), a message list, and
a reading pane, navigable with
Tab/ arrow keys andj/k. - Compose & reply in-app: To and Body fields,
Ctrl+Sto send,Escto cancel. - Real trash — pressing
dmoves the message locally and copies it to the configured trash folder on the IMAP server, then expunges it from the inbox so it never comes back on re-sync. - Deduplication — messages are keyed by their RFC 2822
Message-ID; a message you've already seen is never re-delivered on sync. - Auto-sync every 10 seconds while idle, plus on-demand sync with
S. Fetches up to the last 50 messages tagged[mailrs_mail]. - Contacts auto-collected from mail you send and receive, referenced by a stable numeric ID (use the ID in the To field to address people quickly).
Install
Configuration
On first run a starter config is written to your config directory
(~/.config/mail-rs/config.toml on Linux/macOS,
%APPDATA%\mail-rs\config.toml on Windows). Fill in your SMTP/IMAP details:
= "you@gmail.com"
= "Your Name"
= "gmail.com"
[]
= "smtp.gmail.com"
= 587
= "you@gmail.com"
= "your-app-password" # use an App Password, not your login password
= true
[]
= "imap.gmail.com"
= 993
= "you@gmail.com"
= "your-app-password"
= true
= "INBOX"
= "[Gmail]/Trash" # Gmail; other providers: "Trash" or "Deleted"
Gmail users:
trash_foldermust be[Gmail]/Trash.
Other providers: tryTrash(the default) orDeleted.
Usage
|
TUI keys
| Key | Action |
|---|---|
Tab / ←→ |
Move focus between panes |
↑↓ / j k |
Navigate within a pane |
Enter |
Open selected message |
c |
Compose new message |
r |
Reply to the open message |
s |
Star / unstar |
d |
Move to trash (local + IMAP server) |
S |
Sync now |
? |
Toggle contacts panel |
q |
Quit |
In the compose modal, Tab cycles between the To and Body fields.
Enter in the To field jumps straight to the body. Ctrl+S sends; Esc
cancels.
Data
Mail and contacts are stored locally:
| Platform | Path |
|---|---|
| Linux / macOS | ~/.local/share/mail-rs/mailbox.json |
| Windows | %LOCALAPPDATA%\mail-rs\mailbox.json |
Configuration lives in:
| Platform | Path |
|---|---|
| Linux / macOS | ~/.config/mail-rs/config.toml |
| Windows | %APPDATA%\mail-rs\config.toml |