+++ title = "SMTP servers" weight = 50 +++ 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](https://doc.dovecot.org/developer_manual/design/auth_protocol/) Postfix supports these 2 features and is the only recommended choice *for now*. ## Postfix Configuring [Postfix](https://www.postfix.org/) requires to add these 4 lines to `main.cf`: ```ini 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)](https://www.postfix.org/lmtp.8.html). ## Maddy [Maddy](https://maddy.email/) 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](https://maddy.email/reference/targets/smtp/#smtp-lmtp-transparent-forwarding). For the Dovecot Auth Protocol, read [Dovecot SASL](https://maddy.email/reference/auth/dovecot_sasl/). ## OpenSMTPD Something like below might work (untested): ```bash action "remote_mail" lmtp "/var/run/dovecot/lmtp" rcpt-to virtual match from any for domain "your-domain.tld" action "remote_mail" ``` The syntax is described in their manpage [smtpd.conf(5)](https://man.openbsd.org/smtpd.conf#lmtp). opensmtpd does not support Dovecot's SASL protocol, you can signal your interest [in their dedicated issue](https://github.com/OpenSMTPD/OpenSMTPD/issues/1085). ## Chasquid [chasquid](https://blitiri.com.ar/p/chasquid/) supports [LMTP delivery](https://blitiri.com.ar/p/chasquid/howto/#configure-chasquid) and the [Dovecot Auth Protocol](https://blitiri.com.ar/p/chasquid/docs/dovecot/) but only over UNIX sockets. Thus, it's not yet compatible with Aerogramme. ## Other servers [Exim](https://www.exim.org/) has some support [for LMTP](https://www.exim.org/exim-html-current/doc/html/spec_html/ch-the_lmtp_transport.html) too. [sendmail](https://www.proofpoint.com/us/products/email-protection/open-source-email-solution) might deliver to LMTP through a dedicated binary named [smtpc](https://www.sympa.community/manual/customize/lmtp-delivery.html).