Open source · self-hosted · MIT

Know where your domain’s email actually lands.

Mail Mantis is a small dashboard for warming up a custom domain with Gmail inboxes you own. Draft ordinary emails with Gemini, send them yourself, see whether Gmail put them in Primary, Promotions or Spam, and reply from the same place.

$git clone https://github.com/karuridavid/mailmantis && cd mailmantis && docker compose up -d
Mail Mantis overview: inbox rate, a per-inbox placement grid, items needing attention and recent activity

Manual by design

Nothing sends until you press Send. No schedules, no sequences.

No bot replies

Seed inboxes only reply when you write or approve a reply.

Read-only checks

Placement checks read Gmail labels. Messages are never moved.

Your keys, encrypted

SMTP keys, Google tokens and API keys are encrypted at rest.

HOW IT WORKS

A deliberate loop, one email at a time.

Mail Mantis keeps the whole cycle in one place: your sender, your inboxes, the drafts, where they landed and the replies.

Connect

Add your domain’s SMTP sender and test it. Connect Gmail or Workspace inboxes you own with Google sign-in.

Brief

Gemini reads your public website and drafts a business brief. You correct it, or write it yourself.

Draft & send

Get a different, ordinary email for each inbox. Edit, mark ready, and send each one by hand.

Check & reply

See Primary, Promotions or Spam for every send, then reply from the seed inbox in the same thread.

FEATURES

Small, focused, and honest about what it measures.

Inbox signal grid

Every seed inbox against its latest sends. Problems stand out at a glance.

Real Gmail placement

Inbox tab included, read straight from Gmail’s labels.

PrimaryPromotionsSpam

Gemini drafts

Ordinary emails written from a brief you approved. No invented offers, no hype.

Threaded replies

Reply from any seed inbox, written by you or Gemini, sent through Gmail in the same thread.

Verified Gmail filters

Add “Never send to Spam” or “Mark important”, then read them back from Gmail to confirm.

Runs anywhere

Docker Compose with Postgres on your machine or server, or Vercel with Neon.

THE EMAILS VIEW

Every email, from draft to reply.

A mail-client layout with colour-coded status. Open any email to edit it, send it, see its placement and timeline, or reply.

  • Draft → Ready → Sent, with a confirmation before anything leaves
  • Placement checked automatically while the dashboard is open
  • Keyboard friendly: J/K to move, N for new emails
  • Several sender domains, one warmed at a time
  • Light and dark themes
Emails view: list of emails with status pills and an open email showing its placement in the Primary inbox, a timeline and a reply
~/mailmantis
$ git clone https://github.com/karuridavid/mailmantis
$ cd mailmantis && docker compose up -d
$ docker compose logs app | grep "setup key"
# First sign-in: open the dashboard and use this
# one-time setup key: 9xQ…
# → http://localhost:8080
SELF-HOST

Up and running in three commands.

Docker Compose starts Postgres and the app, and generates the encryption key on first boot. Add HTTPS for a public domain with one more flag, or deploy to Vercel with Neon.

For your own domains and inboxes

Mail Mantis sends one email at a time to inboxes you own. It is not a bulk sender or an outreach tool, and it can’t guarantee inbox placement. Good authentication (SPF, DKIM, DMARC) and real engagement matter far more than any tool.

Run your own signal.

Free and open source under the MIT license.