One dashboard for every mailbox.

A Django web app for connecting and managing multiple IMAP email accounts from a single place. Encrypted credentials at rest, email-based two-factor authentication, and live IMAP access without server-side message caching.

What it is

The pitch

Connect several IMAP mailboxes once, then read recent mail across all of them from one inbox. Built for people who juggle multiple addresses.

The shape

A small but production-shaped Django application — auth, transactional email, Fernet-encrypted credentials, hardened headers, and a Postgres-or-SQLite deploy story.

The honesty

Built solo as a portfolio piece. Currently Mail.ru-only on the hosted instance; open source on GitHub so anyone can run their own copy.

At a glance

Email-verified signup New accounts confirm via a signed link before activation.
Login by email OTP One-time code with TTL, attempt lockout, and rate-limited resend.
Multi-account IMAP Add accounts one at a time or bulk-import via CSV.
Encrypted credentials IMAP passwords stored as Fernet ciphertext, never in plaintext.
Live inbox Read, mark unread, and delete messages directly against IMAP.
Production-shaped HSTS, secure cookies, WhiteNoise statics, Postgres-or-SQLite.

Tech stack

Django 5.1+ PostgreSQL · SQLite Fernet (cryptography) Resend (transactional email) django-otp + qrcode imap-tools WhiteNoise · Gunicorn Bootstrap 5.3