
For years I ran clients’ mail on Microsoft Exchange. It worked – but I could never get a perfect reputation score, and too many legitimate messages landed in recipients’ junk folders. So I built a mail server from scratch on Linux: Ubuntu Server 20.04 in a virtual machine, with Postfix for SMTP, Dovecot for IMAP and MySQL for virtual domains and mailboxes.
How it went
- The first build took about 3–4 hours, with no prior Postfix or Dovecot experience – mostly reading documentation and testing.
- With correct DNS records the server scored 10/10 on a deliverability test, and messages started arriving in inboxes instead of spam.
- After a few weeks of stable running I built eight more servers, several of them hosting multiple mail domains – all still running.
What made the difference
The software is only half the story. Inbox placement depends on the receiving side trusting your server, and that comes from DNS:
- PTR (reverse DNS) for the server’s IP matching its hostname
- SPF listing exactly which servers may send for the domain
- DKIM signing every outgoing message (OpenDKIM)
- DMARC telling receivers what to do with failures – and sending you reports
- TLS certificates on SMTP and IMAP, and no open relay
Check your own domain
The SPF, DKIM & DMARC Checker tests MX, SPF, DKIM and DMARC in one go and explains what to fix.
Exchange or Linux?
Exchange is still the right choice where a business is invested in Outlook features, shared calendars and Active Directory integration. For straightforward, multi-domain business email, a well-configured Postfix and Dovecot server is lighter, cheaper to run and – in my experience – delivers better.
Related guides: installing Postfix on Ubuntu, daily mail-log reports with pflogsumm and fixing OpenDKIM key tests.

