SMTP servers that are recommended for Aerogramme are the ones that support:
- TCP delivery over the LMTP protocol
- TCP authentication over the Dovecot SASL Auth protocol
Postfix supports these 2 features and is the only recommended choice for now.
Postfix
Configuring Postfix requires to add these 4 lines to main.cf
:
smtpd_sasl_type = dovecot
smtpd_sasl_path = inet:localhost:12345
virtual_mailbox_domains = your-domain.tld
virtual_transport = lmtp:[::1]:1025
Aerogramme implements Dovecot SASL protocol. By configuring Postfix with it,
Make sure that your-domain.tld
is not already configured in the mydomain
variable,
or it might conflict with Postfix local delivery logic.
Indeed, Postfix internally has its default configuration for "local" mail delivery, that maps to the old way of managing emails. LMTP delivery is a more recent, and maps to the "virtual" mail delivery mechanisms of Postfix. Your goal is thus to deactivate as much as possible the "local" delivery capabilities of Postfix and only allow the "virtual" ones.
You can learn more about Postfix LMTP capabilities on this page: lmtp(8).
Maddy
Maddy is a more recent email server written in Go. However it does not support LMTP delivery over TCP, only over UNIX socket: without a specific adapter, it's not yet compatible with Aerogramme.
For LMTP delivery, read SMTP & LMTP transparent forwarding. For the Dovecot Auth Protocol, read Dovecot SASL.
OpenSMTPD
Something like below might work (untested):
action "remote_mail" lmtp "/var/run/dovecot/lmtp" rcpt-to virtual <virtuals>
match from any for domain "your-domain.tld" action "remote_mail"
The syntax is described in their manpage smtpd.conf(5). opensmtpd does not support Dovecot's SASL protocol, you can signal your interest in their dedicated issue.
Chasquid
chasquid supports LMTP delivery and the Dovecot Auth Protocol but only over UNIX sockets. Thus, it's not yet compatible with Aerogramme.
Other servers
Exim has some support for LMTP too.
sendmail might deliver to LMTP through a dedicated binary named smtpc.