Wandering Thoughts archives


Postfix versus Exim

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.)

sysadmin/PostfixVsExim written at 01:17:44; Add Comment

Page tools: See As Normal.
Login: Password:
Atom Syndication: Recent Pages, Recent Comments.

This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.