Open-source · MIT License

Email testing that
feels real

A full mail stack in a single Docker container. SMTP, IMAP, DKIM, DMARC, spam filtering, REST API, and a modern web UI. Test email exactly as it behaves in production.

terminal
$ docker run -d -p 8088:80 -p 25:25 ghcr.io/olib-ai/mailcue
a3f8c2e1... mailcue started
$ curl http://localhost:8088/api/v1/health
{"status": "healthy", "services": {"postfix": "running", "dovecot": "running"}}
# That's it. Full mail server running.
MailCue inbox showing a rich HTML email

Everything you need.
Nothing you don't.

One container replaces an entire email infrastructure. No external databases, no message queues, no configuration headaches.

Catch-all SMTP

Accepts mail for any address on any domain. Nothing ever leaves the container. Safe by default.

🔒

DKIM & DMARC

Automatic DKIM signing via OpenDKIM and DMARC verification via OpenDMARC. Test authentication flows end-to-end.

🛡

Spam Filtering

SpamAssassin scores every inbound message. Configurable thresholds with Bayesian filtering and RBL checks.

🔌

REST API

Complete JSON API for sending, receiving, injecting, and searching emails. Built for CI/CD pipelines.

📱

Modern Web UI

React-based interface with mailbox sidebar, folder navigation, rich email viewer, and HTML compose editor.

🔒

GPG / PGP-MIME

Generate, import, and manage GPG keys. Sign, encrypt, verify, and decrypt emails per RFC 3156.

📡

IMAP & POP3

Full Dovecot server with STARTTLS and implicit TLS. Use Thunderbird, mutt, or any standard client.

Real-time Events

Server-Sent Events stream pushes email.received, email.deleted, mailbox.created, and more live.

📦

Single Container

One docker run. No external databases, no Redis, no message queues. SQLite with optional AES-256 encryption.

Built on proven
infrastructure

Production-grade open-source components, assembled into a cohesive testing platform.

Backend

Python 3.12  FastAPI + Uvicorn
SQLAlchemy 2  async + aiosqlite
Alembic  database migrations
Argon2id  password hashing
JWT  HS256 authentication
python-gnupg  PGP/MIME ops

Frontend

React 19  TypeScript
Vite 6  with SWC
Tailwind CSS 4  styling
TanStack Query  server state
React Router 7  routing
Tiptap  rich text editor

Infrastructure

Postfix  SMTP :25 / :587
Dovecot  IMAP / POP3 / LMTP
OpenDKIM  DKIM signing
OpenDMARC  DMARC verification
SpamAssassin  spam filtering
s6-overlay v3  process supervisor

Designed for
automation

A comprehensive REST API with OpenAPI 3.1 spec and Postman collection included. Authenticate with JWT or API keys.

Emails

Send, receive, inject, bulk-inject, search, and manage emails programmatically.

GET /api/v1/emails
POST /api/v1/emails/send
POST /api/v1/emails/inject
POST /api/v1/emails/bulk-inject

Mailboxes

Create, delete, and query mailboxes with folder statistics and email listings.

GET /api/v1/mailboxes
POST /api/v1/mailboxes
GET /api/v1/mailboxes/:addr/emails

GPG Keys

Generate, import, export, and publish PGP keys. Full RFC 3156 PGP/MIME support.

POST /api/v1/gpg/keys/generate
POST /api/v1/gpg/keys/import
GET /api/v1/gpg/keys/:addr/export

Domains & System

Manage email domains with DKIM, DNS verification dashboard, TLS certs, and server settings.

POST /api/v1/domains
POST /api/v1/domains/:name/verify-dns
GET /api/v1/events/stream

Start testing in
30 seconds

One command. No signup. No configuration. A full email server at your fingertips.

click to copy $ docker run -d -p 8088:80 ghcr.io/olib-ai/mailcue