Module 4 · Lesson 8 of 25

Modern TLS settings

Part of Dovecot: IMAP/POP3 at Production Scale — SSL/TLS, Certificates, and Ports.

Dovecot 2.3+ defaults are reasonable but always pin them explicitly in local.conf:

ssl = required
ssl_min_protocol = TLSv1.2
ssl_cipher_list = ECDHE+AESGCM:ECDHE+CHACHA20:!aNULL:!MD5
ssl_prefer_server_ciphers = yes
ssl_cert = </etc/letsencrypt/live/mail.example.com/fullchain.pem
ssl_key = </etc/letsencrypt/live/mail.example.com/privkey.pem
ssl_dh = </etc/dovecot/dh.pem

Generate a 4096-bit DH parameter file once:

openssl dhparam -out /etc/dovecot/dh.pem 4096

ssl = required means cleartext IMAP/POP3 (143, 110) require STARTTLS before AUTH. Auth attempts in cleartext are refused. For maximum strictness:

disable_plaintext_auth = yes

Sign in to keep track of what you have read.

Pulse · self-hosted sending

Own the infrastructure your pipeline depends on.

One install script on your own server. Pulse sets up the MTA, mailboxes, certificates and dashboard; you add domains and start sending.

# on a fresh Ubuntu server
$ cd pulse && sudo ./install.sh
→ docker compose up · kumomta · stalwart · caddy
→ dashboard ready on https://pulse.yourdomain.com
$

Also from us:Beat — monitoring that tells you the fixConsulting — $65/hr, no retainer