Maddy implements Mail Transfer agent (MTA), Mail Submission Agent (MSA), Mail Delivery Agent (MDA) and
IMAP server functionality in one application.
⚠️ Warning: maddy is in development, many important features are missing, there
are bugs and performance can be bad.
Feel free to join the IRC channel: ##emersion on irc.freenode.net.
You need Go 1.11.4 or newer. A C compiler is required for SQLite3 storage support
(can be disabled using nosqlite3 tag).
Also you need to enable modules support to get the right version. Set
GO111MODULE environment variable to on.
go get github.com/emersion/maddy/cmd/maddy@master
You can also compile and install helper binaries from
cmd/maddy-shadow-helper. See corresponding
README files for details.
Start by copying contents of the maddy.conf to
/etc/maddy/maddy.conf (default configuration location).
With this configuration, maddy will create an SQLite3 database for messages in
/var/lib/maddy and use it to store all messages. You need to ensure that this
directory exists and maddy can write to it.
Configuration syntax, high-level structure, and all implemented options are
documented in maddy.conf(5) man page.
You can view page source here (it is readable!) or
generate man page using scdoc utility: