[linux-elitists] Postfix vs Exim

Jeff Waugh jdub@perkypants.org
Sat Sep 21 21:37:15 PDT 2002

<quote who="Marc MERLIN">

> - I know  that because postfix isn't  monolithic like exim, and  that one of
>   the prices to pay is that it doesn't do deduping (i.e. if a message is
>   sent to you and an email alias, you get two copies). If postfix's secure
>   module approach has other drawbacks, I'm interested to hear them

I'd call this a very peripheral feature for an *MTA*. You can do it in
procmail or some MUAs.

> - I have been told that postfix can  do content filtering and bounce at SMTP
>   time (like exim4's ACLs) and after data (like exim's system_filter).
>   Confirmation would be appreciated

It can do header and bodychecks with regexps or PCREs, as well as sending
off to pipe transports for more advanced stuff.

> - I don't know  if postfix can do  fined grained ACLs like exim4  and do RBL
>   rejects but only if the from  domain matches a string, the connecting host
>   is in a  certain IP range, and  none of the receipients  is postmaster for
>   instance. Is postfix that configurable?

To a point, yes. There's a couple of patches to do some crazier things such
as per-client restriction rules, etc.

> - I don't think postfix can do SMTP callbacks or callouts like exim.
>   Confirmation appreciated.

Non-exim-jargon feature description, please.

> - I'm not sure that postfix can do the equivalent of exim's local scan or
>   sendmail's milters. Confirmation appreciated

Apart from the header/content checks, it supports external transports and
transport tables. This is far, far more scalable than milters and such.
Rather than launching extra processes, etc., you send the mail to another
transport via pipe, lmtp, smtp, yada.

> - postfix has an extensive lookup cache, which is a huge advantage over exim
>   if you are doing  ldap lookups (ldap is slow, and exim  will not cache the
>   lookup longer than the process runs)

You might want to research that a bit more, it's a religious issue. :-)

> - exim can  lookup users to  deliver for in ldap  or nis by  using getpwnam,
>   using the C library and nscd, but if it does so, it cannot distiguish a
>   non existant users from a connection refused.
>   As a  result, you should  not use getpwnam and  libnss_* for any  MTA, but
>   instead you should have the MTA behave as  a NIS or ldap client and do the
>   query yourself.
>   This is possible,  but a bit kludgy in  exim, and if you do  so, exim will
>   not be able to cache the result.
>   I've been told that postfix supports this better and will cache the result
>   of the nis/ldap queries as if you were using nscd
>   Confirmation appreciated.

Apart from the caching (see above, religious issue), yes, postfix is a great
MTA when you're using LDAP.

> - Both MTAs support TLS
> - Exim is the only MTA I know that can create virtual aliases on the fly
>   (i.e. mailman aliases)

Sounds like a non-MTA feature in an MTA again. ;-)

> - Can postfix,  like exim,  do mail  routing depending on  a file  (i.e. run
>   procmail if  there is a  ~user/.procmailrc or run  vacation if there  is a
>   ~/.vacation.msg, etc...)

No. Postfix leans towards 'do what I say', which I think is a safer and more
auditable POV for an MTA than 'do what I mean'.

> - Does postfix  support complete header  rewriting (on all the  headers, per
>   header and with regular expressions), like exim does?

No. (Why would an MTA need to do this, if it couldn't replace the
configurability with a sensible feature?)

> - What other cool things can postfix do that exim can't?

Postfix is an MTA first and foremost, "cool features" need not apply (this,
in itself, is one of my favourite features of Postfix... it's crack free).

- Jeff

                            Interplanetary Pants                            

More information about the linux-elitists mailing list