Postfix - my MTA of choice
A long time ago, like many BSD users, I was using Sendmail as my main Mail Transfer Agent. I used to run alpha and beta versions as part of the beta team and even wrote a course about its configuration system when I was a Security Consultant (1994-1996).
No one will deny that although it has gotten way better than the old
.cf configuration system, it is still a pain to configure and require more deep knowledge than may be necessary.
I tried to see whether Qmail was able to take over this task but both the architecture and the author made me keep Sendmail (quite a feat I must admit) Things like Exim were not interesting to me as they kept to the obsolete Sendmail design, one program does it all.
By far, this is the best MTA I’ve run so far, with a table-based system for most configuration and text-based files for the rest, it can do all I need, including a decent support of UUCP which I still use as my backup mail/news transport scheme.
Like Qmail, Postfix uses a multi-process architecture, all not trusting themselves and passing only the minimum data with several protections features but in a more
Sendmail has tried a few years ago to move its main product into the modern world of privilege separation through multiple processes but it has never been transformed into a product and has remained a side project from Claus Assman, now named apparently Meta1.