About REST Mail
REST Mail is an email server with a REST API at its core. It speaks the old mail protocols to the rest of the world, and HTTPS to everything else.
What it is
Every mailbox operation is an HTTP request: sending, reading, searching, filing and filtering. Webmail, the mobile app, your scripts and your automations all use the same API.
At the edge, REST Mail speaks SMTP, IMAP and POP3. Mail from anywhere still arrives, and any mail app still works. When two REST Mail servers meet, they recognise each other in the SMTP greeting and deliver the message over HTTPS instead.
Why
Email still runs on protocols from the 1980s. Running your own mail server means wiring Postfix, Dovecot and a pile of configuration together, then keeping them that way.
REST Mail is one server you can script. The webmail, the app, the protocol gateways and your own scripts all go through the same API, and every sign-in and change is in its audit log.
What it's made of
The server
Written in Go, on PostgreSQL. The REST API, DKIM, SPF, DMARC, ARC and MTA-STS, a filter pipeline with Sieve and JavaScript, webmail and admin tools. It runs in containers, and its Helm chart installs it on Kubernetes. rest-mail/rest-mail-server
The protocol gateways
SMTP, IMAP and POP3, part of the same server. Thunderbird, Apple Mail, Outlook and the rest connect to REST Mail as they would to any mail server.
The mobile app
For iPhone and Android. It reads REST Mail accounts over the API, and Gmail, iCloud, Yahoo, Fastmail or any IMAP account beside them. An administrator can run a REST Mail server from it. rest-mail/rest-mail-mobile
The libraries
The server is built on seven Go libraries of the project's own: POP3, IMAP, DKIM, ARC, DMARC, MTA-STS and Sieve. Each one works on its own.
Open source
All of it is open source under the MIT licence, at github.com/rest-mail. Use it, change it and run it however you like.
You run your own server. The REST Mail project doesn't host your mail, and never sees it.
Who makes it
REST Mail is made by Antimatter Studios. It is young: version 0.x, and changing fast. If something is wrong or missing, say so.