gitmyhub

maddy

Go ★ 6.0k updated 3d ago

✉️ Composable all-in-one mail server.

All-in-one self-hosted mail server that handles sending, receiving, storing, and securing email in a single program and config file, replacing the traditional Postfix + Dovecot + OpenDKIM stack.

GoSMTPIMAPDKIMSPFDMARCsetup: hardcomplexity 4/5

Maddy is a self-hosted mail server that handles everything a complete email setup requires in a single program. Running your own email server normally means installing and configuring several separate tools: one for sending mail, one for receiving it, one for storing it, and several more for security protocols. Maddy replaces all of them with one daemon and one configuration file.

On the sending side, Maddy acts as an SMTP relay that routes outgoing messages to other mail servers. On the receiving side, it accepts incoming messages addressed to your domain. Once messages arrive, it stores them and makes them accessible over IMAP, the protocol that email clients like Thunderbird or Apple Mail use to fetch and organize messages. It also implements the security standards that modern email requires: DKIM for signing outgoing messages so recipients can verify they came from you, SPF and DMARC for publishing policies that protect your domain from spoofing, DANE for certificate validation over DNS, and MTA-STS for encrypted transport enforcement.

The project explicitly positions itself as a replacement for the combination of Postfix, Dovecot, OpenDKIM, and related tools, trading their individual complexity for a single composable system with lower maintenance overhead.

One important caveat: the IMAP storage component is marked as beta. The README suggests that anyone needing a proven, full-featured IMAP implementation consider using Dovecot for that piece while still using Maddy for message delivery. The project is written in Go. A setup tutorial and full documentation are available at maddy.email, and there is an IRC channel and mailing list for support.

Where it fits