ToadMail
Ready-to-demo, self-hosted Gmail-style email dashboard. Python backend, vanilla JS frontend, Postfix + Maildir.
Screenshots
Overview
ToadMail is a ready-to-demo, self-hosted email dashboard with a Gmail-like interface. Backend is a hand-written Python HTTP server (no framework bloat) talking directly to a Maildir store and Postfix/sendmail for delivery. Frontend is vanilla HTML/CSS/JS. It is the kind of private mail client/dashboard that can be packaged and adapted for people who want a simple hosted email interface they control.
Highlights
- ▸ Full email client: send, receive, reply, reply-all, forward.
- ▸ Folders: Inbox, Sent, Drafts, Trash, Starred — with star, search, multi-select, bulk delete, mark read/unread.
- ▸ Gmail-inspired layout, responsive interface, and collapsible sidebar.
- ▸ Compose modal, auto-refresh every 30s, full-text search across all mail.
- ▸ Custom Python HTTP backend (http.server + email + subprocess) — zero heavyweight frameworks.
- ▸ Postfix + sendmail for SMTP delivery, Maildir for storage.
- ▸ Caddy reverse proxy with auto Let's Encrypt, UFW firewall, on a private custom domain.
Why
Most email clients are bloated, tracked, or locked into big-tech ecosystems. ToadMail is a lean, private, self-hosted alternative I fully own and control — from the MTA up to the UI.
Architecture
- Python http.server backend — routes, JSON API, Maildir reader/writer, subprocess to sendmail.
- Vanilla JS frontend — SPA feel, no framework, no build step.
- Postfix MTA with Maildir format for reliable on-disk storage.
- Caddy in front — automatic TLS, reverse proxy to the Python backend.
- systemd units for the backend; UFW for firewall hardening.
Features
- Compose modal with to / cc / bcc / subject / body.
- Reply, reply-all, forward with quoted history.
- Inbox / Sent / Drafts / Trash / Starred folders.
- Multi-select + bulk delete, mark read/unread, star.
- Full-text search across all folders.
- Auto-refresh every 30s, mobile sidebar toggle.
Status
Ready for demos. If you want a private self-hosted email dashboard like this, request a demo and I can show the current product, discuss the setup, and scope what would need to change for your domain/VPS.
Demo / buying
- Request a demo by emailing toad@toaddesk.dev.
- Best fit: personal domains, small teams, private dashboards, and people who want simple hosted mail without a giant provider UI.
- Can be adapted around your domain, VPS, storage layout, and branding.
Takeaways
- You don't need a framework to build a real email client — Python's stdlib is shockingly capable.
- Maildir + Postfix + Caddy is a rock-solid base for self-hosted mail without fighting Dovecot for basic IMAP.
- A focused, low-distraction interface matters for an app you stare at all day.