|Port(s)||25, 143, 587, 80, 443|
|Upstream||Dovecot, Postfix, RSpamd, OpenDKIM, and Rainloop|
Sends and receives email. Rainloop is a simple webmail client that communicates with normal IMAP/SMTP.
If not used to the jumble of services used for mail, ISPMail is a good explanation, although we use a slightly different setup outlined below.
- Postfix receives an incoming SMTP connection
- Postfix queries LDAP to find the user/alias for the address.
- Postfix checks it with rspamd
- If rspamd decides we should deliver it, we pass it to dovecot through LMTP
- Dovecot queries LDAP again and places it in the user's mailbox
- The user then uses their MUA to access their mailbox through dovecot (over IMAP)
- Postfix receives an SMTP connection on port 587
- The user authenticates, which postfix asks dovecot for help with
- Dovecot uses bind authentication against our LDAP
- Postfix cleans up the headers and passes it to OpenDKIM to do signing
- Postfix sends the signed message to wherever it needs to go
/var/lib/mail, which is ceph share
maildirsmounted over NFS.
Managed declaratively using Nix.