BearerMail
A complete self-hosted mail system: your own mail server for your own domain, a full webmail client, and a native Android app — all running on hardware you control.
BearerMail starts from plMail by karatektus — an excellent self-hosted mail client — and adds the missing half: a real mail server (Postfix + Dovecot + OpenDKIM) that sends and receives internet mail for your domain, plus a Drive with share links, on-the-spot aliases, and a companion Android app. One compose stack, one domain, zero third-party mail providers required.
Get running →
Docker Compose, three env vars, and your domain sending mail in minutes.
Mail server →
How Postfix, Dovecot and DKIM fit together, relays, and testing.
Android app →
Install the APK, pair it, and use Drive, aliases and the app lock.
What's in the box
| Part | What it does | Repo |
|---|---|---|
| Webmail | plMail with BearerMail additions: Drive, share links, aliases, mail-server admin | pl_mail_bearermail |
| Mail server | Postfix (SMTP) + Dovecot (IMAP) + OpenDKIM, as compose services in the same stack | pl_mail_bearermail docker/mail |
| Android app | Native client with Drive, aliases, verification-code copy, app lock, auto-updates | pl_mail_android_bearermail |
How the pieces fit
internet --port 25--> mta (Postfix) --LMTP--> mailstore (Dovecot)
webmail --IMAP------> mailstore (reading, like any account)
webmail --SMTP 587--> mta (sending, DKIM-signed)
android --JMAP------> webmail (mail, calendar, Drive, aliases)
android --IMAP 993--> mailstore (optional direct access)
Mail lands in Dovecot; the webmail syncs it over IMAP like any other account — so threads, full-text search, filters and push all work on your domain mail with no special casing. Outbound mail is DKIM-signed by your own server, delivered directly or through a relay like Mailjet.
What BearerMail adds over upstream plMail
- Built-in mail server new — Postfix + Dovecot + OpenDKIM as
docker compose --profile mailservices. Your domain sends and receives directly. - Drive new — personal file storage with folders, share links (password + expiry), and deep links into mail and calendar.
- On-the-spot aliases new — create a working alias in one tap, from the web or the app.
- SMTP relay UI new — point outbound mail at Mailjet (or any relay) from Admin → Mail server, no shell needed.
- Dynamic DNS new — Cloudflare updater keeps your mail hostname on your home IP.
- Android app new — native client with Drive, alias creation, plan detection, verification-code copy, PIN lock and self-updates.
Everything upstream plMail does — Gmail/Outlook/IMAP accounts, calendar, filters, themes — still works. For those features, the upstream handbook remains the reference.
BearerMail is a fork. The webmail is karatektus's plMail and the Android app is karatektus's pl_mail_android, both AGPL-3.0. All credit for the base goes upstream; what's documented here is what the fork adds and how the pieces are run together.