Repolode
maathimself

maathimself/mailflow

A self-hosted webmail client that merges multiple IMAP/SMTP email accounts into one unified inbox.

Open-source alternative to:Microsoft OutlookGmail

Stars
652
Forks
77
Open issues
58
Last commit
20 hours ago

What is it?

MailFlow is a self-hosted webmail client for people who use several email accounts and want to read and send them from one interface. Accounts from any IMAP/SMTP provider, including Gmail, iCloud, and Microsoft 365 via OAuth2, are merged into a single date-sorted inbox, with per-account SMTP routing for replies and forwards.

Beyond basic mail handling, it adds automatic inbox categorization, one-click unsubscribe for newsletters, conversation threading, full-text search across accounts, snooze, inbox rules, a block list, and an optional GTD workflow that stores labels as real IMAP folders. An optional AI assistant can summarize threads and draft replies using an OpenAI-compatible API.

The project is deployed with Docker Compose, or run natively with Node.js, PostgreSQL, Redis, and nginx. It includes multi-user administration with invite-only registration, TOTP two-factor authentication, OIDC single sign-on, a CardDAV address book, and Todoist integration. Electron and Capacitor wrappers are included for building desktop and Android apps from source.

Key features

  • 01Merges multiple IMAP/SMTP accounts into one date-sorted inbox
  • 02Automatic inbox tabs and one-click unsubscribe for newsletters
  • 03Inbox rules, block list, snooze, and spam reporting
  • 04Rich text compose with attachments and per-account SMTP routing
  • 05Two-factor authentication, OIDC single sign-on, and invite-only user management
  • 06Optional GTD labels backed by IMAP folders

Use cases

  • Reading Gmail, iCloud, and work Outlook mail in one place
  • Running a private webmail server for a family or small team
  • Replacing multiple mail apps with one self-hosted web interface
  • Managing email with a GTD-style workflow across accounts

Quick start

  1. 1

    Download the compose file from the README

    curl -o docker-compose.yml https://raw.githubusercontent.com/maathimself/mailflow/main/docker-compose.ghcr.yml
  2. 2

    Download the default environment config

    curl -o .env https://raw.githubusercontent.com/maathimself/mailflow/main/.env.example
  3. 3

    Edit .env to set APP_URL, SESSION_SECRET, DB_PASSWORD and ENCRYPTION_KEY

  4. 4

    Start MailFlow with Docker Compose

    docker compose up -d

Things to know

  • Requires a server with Docker and Docker Compose to self-host.
  • Licensed under AGPL-3.0, so network-served modifications must be published under the same license.
  • Some features, such as the Business License and commercial licensing, are paid.

In collections

Topics

#email#webmail#imap#self-hosted#unified-inbox#docker#oauth2#emailclient#unifiedinbox

FAQ

What is mailflow?
A self-hosted webmail client that merges multiple IMAP/SMTP email accounts into one unified inbox. MailFlow is a self-hosted webmail client for people who use several email accounts and want to read and send them from one interface. Accounts from any IMAP/SMTP provider, including Gmail, iCloud, and Microsoft 365 via OAuth2, are merged into a single date-sorted inbox, with per-account SMTP routing for replies and forwards.
Is mailflow free to use? What license does it have?
mailflow is open source under the AGPL-3.0 license. Check the license terms before using it in commercial products.
Is mailflow still maintained?
Actively maintained. The last commit to mailflow was on Nov 6, 2026.
What can I use mailflow for?
Reading Gmail, iCloud, and work Outlook mail in one place Running a private webmail server for a family or small team Replacing multiple mail apps with one self-hosted web interface Managing email with a GTD-style workflow across accounts
How do I install mailflow?
Download the compose file from the README: curl -o docker-compose.yml https://raw.githubusercontent.com/maathimself/mailflow/main/docker-compose.ghcr.yml Download the default environment config: curl -o .env https://raw.githubusercontent.com/maathimself/mailflow/main/.env.example Edit .env to set APP_URL, SESSION_SECRET, DB_PASSWORD and ENCRYPTION_KEY Start MailFlow with Docker Compose: docker compose up -d
Where can I get mailflow?
The source code and installation instructions are on GitHub: https://github.com/maathimself/mailflow

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects