Skip to content

Mandrill transactional email

mnml-msg-mandrill is a terminal browser for Mandrill (Mailchimp Transactional). List recent transactional sends color-coded by delivery state, browse templates by publish state, inspect tag stats with bounce-rate cues, and audit webhooks. Runs standalone in any terminal.

┌─ mandrill ────────────────────────────────────────────────────────────┐
│ ▸1.messages (87) 2.templates (12) 3.tags (24) 4.webhooks (3) │
└───────────────────────────────────────────────────────────────────────┘
┌─ messages (87) ───────────────┐ ┌─ detail ────────────────────────────┐
│ ▸ Welcome aboard │ │ State delivered │
│ Password reset │ │ To [email protected]
│ Order #4421 confirmed │ │ From [email protected]
│ You have 3 new reviews │ │ Opens 2 │
└───────────────────────────────┘ └─────────────────────────────────────┘
1-9 tab · Enter/o web · y ID · L event log → $PAGER · r refresh · q quit
Terminal window
cargo install --git https://github.com/chris-mclennan/mnml-msg-mandrill mnml-msg-mandrill
mnml-msg-mandrill --install

Mandrill uses a single API key per app.

Terminal window
export MANDRILL_API_KEY=... # Settings → SMTP & API Info → API Keys
mnml-msg-mandrill --check # hits /users/ping.json

Prefer a read-only key — every v0.1 endpoint is read-only.

Auth shape: plain HTTP POST to https://mandrillapp.com/api/1.0/<resource>/<verb>.json, key sent in the request body (not a header). No SDK dep.

~/.config/mnml-msg-mandrill/config.toml (scaffolded first run):

refresh_interval_secs = 60
messages_lookback_days = 14
[[tabs]]
name = "messages"
kind = "messages"
[[tabs]]
name = "templates"
kind = "templates"
[[tabs]]
name = "tags"
kind = "tags"
[[tabs]]
name = "webhooks"
kind = "webhooks"
kindWhat it shows
messagesRecent sends over messages_lookback_days, newest first. Color: delivered green · queued/scheduled/deferred yellow · bounced/rejected/spam red · sent gray.
templatesEvery template + publish state. Published green, draft gray.
tagsTag stats + derived bounce rate. Bounce ≥5% red, ≥2% yellow.
webhooksEvery webhook + subscribed events. Webhooks with last_error set are red.
ChordAction
1-9 / TabSwitch tabs
/ k, / j, PgUp / PgDn, g / GNavigate
Enter / oOpen in Mandrill web UI (message activity · template code · tag stats · webhooks settings)
yYank — message ID · template slug · tag name · webhook URL
L(messages) Render full event log (SMTP events, opens, clicks) into $TMPDIR + open in $PAGER
rRefresh active tab
q / Esc / Ctrl+CQuit
Terminal window
mnml-msg-mandrill
:term mnml-msg-mandrill

Or <leader>iM after mnml-msg-mandrill --install.

v0.1 caps lists at 500 items (fetching 100/page for messages). When capped, tab badge shows (N+). Real cursor pagination is v0.2.

The API key has full read access (and, on a non-read-only key, full send access) to your transactional email. Protect MANDRILL_API_KEY like a password. Prefer a read-only key. Never commit it — this binary only reads it from env.

github.com/chris-mclennan/mnml-msg-mandrill. MIT.