Setting up Postfix and Dovecot Slowly and Properly

Back in 2015 I embarked on an ambitious plan to blog my entire way through setting up my own selfhosted email server. I got a fair bit in (5 posts) before the setting up got ahead of the blogging and I lost track of scribbled notes and halfwritten posts. Moving to a fresh Ubuntu 18.04 install I decided to move as many services as possible to containers, including my email setup and so, rather than just copy paste my old config files I dug into the basics of email setup again.

With some fresh motivation I intend to plough on in the sadly inelegantly titled series “Let’s do Postfix again but slowly and properly this time” (as in the opposite of a quick an’ dirty “that’ll do” type setup) and extend it with some Dovecot posts. The general guidelines of the series are

  • A modicum of understanding of the general behind-the-scenes workings. What is the role of the MTA vs. the MDA? What does an IMAP-login actually look like in telnet? No deep dive stuff, just sufficient for our needs.
  • Always understand whatever setting we’re tinkering with. No copy-pasta.
  • Start from a primitive setup and work our way up. We need to understand what we’re doing so we eschew all the fancy stuff until we’re ready.
  • Each post end with a working setup or a full upgrade.
  • Write the kind of guide I would have liked to have found when setting up my email server.

The old posts

  1. Postfix 1: A simple local mail receiving server
  2. Postfix 2: Address manipulation
  3. Postfix 3: Opening up to the outside
  4. Postfix 4: Virtual domains
  5. Postfix 5: Relaying from the local network

Planned new posts

I will probably get distracted halfway through once again because the best laid plans of mice and men etc. For what it’s worth here’s my roadmap:

  1. Dovecot 1: Basic Dovecot
  2. Dovecot 2: Authentication with dovecot (including ssl connection and safe passdb)
  3. Postfix 6: Postfix authentication with SASL
  4. Postfix 7: Submission encryption plus relay encryption
  5. Dovecot 3: LMTP
  6. Postfix 8: Spam(Assassin)
  7. Postfix 9: Relay hosts
  8. Dovecot 4: Filtering (sieve)
  9. Postfix (and Dovecot) 10: Docker

Leave a Reply