Postfix versus Exim

September 9, 2009

We use both Postfix and Exim here, and in the process of working with both of them I've formed some opinions. My view on the two is this:

Postfix is easier to do simple things with. Exim is much easier to do complex things with.

A Postfix null-client configuration (one that sends all mail to a smart machine somewhere, putting a default domain on any address that doesn't already have one) is maybe ten lines of configuration. If you can do that in ten lines of configuration in Exim, it is only because someone has already written a highly conditional superintelligent Exim configuration for you and you are just plugging in some values.

(As a result, all of our client machines run Postfix.)

On the other hand, you can actually write a superintelligent Exim configuration and do crazy things with it. This may be possible with Postfix but my distinct impression is that it is not sensible, and I am confidant that it will not be directly expressed in the way that you can in Exim.

(Thus, all of our machines that actually process email run Exim.)

Another way to put the difference is this: Postfix is a mailer. Exim is a mailer construction kit.

Which should you pick? My opinion is that if Postfix does what you want or has a direct customization to make it do what you want, it is probably the right choice. If it does not, use Exim; it's more work in the short term but less pain in the long term.

I would be wary of using someone else's Exim configuration. I understand why Debian and Ubuntu and Fedora and so on feel the need to ship default Exim configurations that work, but I am at least half of the opinion that if you aren't writing your Exim configuration from scratch, maybe you don't actually need Exim. (And it's not like Postfix is short on features; it probably already has a way to do more or less anything common or obvious.)

Written on 09 September 2009.
« Some ways to avoid needing a public ticketing system
What I know about how ZFS actually handles spare disks »

Page tools: View Source, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Wed Sep 9 01:17:44 2009
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.