User: Password:
|
|
Subscribe / Log in / New account

I just love Exim

I just love Exim

Posted Aug 24, 2006 12:13 UTC (Thu) by pilif (guest, #3857)
Parent article: A comparison of Mail Transfer Agents - Part One

Hi,

it's a nice idea to actually go ahead and review the different MTAs out there and I'm looking
forward to seeing how the different applications will perform against each other.

Personally, this is a non-issue for me as I've done this same evaluation ages ago (well... back in
2000) and for me only one candidate came close to meeting the requirements: Exim.

I was setting up a webbased email system that had to be independant of unix users and needed
to have a database driven user management system following a custom schema. Exim was the
only MTA filling in the MTA part of the complete solution which actually allowed me to do what I
needed without the need to apply external patches (and thus being unable to use the
distributions package system).

Back in 2001, I revised my solution to create a general purpose email system handing multiple
domains (my solution in 2000 worked with just one domain). This meant replacing Cyrus with
Courier for IMAP access and rewriting the exim configuration file a bit.

Still, only exim provided me the flexibility to do what I wanted without the need to patch around
exim itself. I posted my configuration to the usenet where it got picked up by Oliver Siegmar,
who created a real project for it (www.xams.org).

During all the years I kept having looks at other MTAs and I never ever found a comparable
solution. Exim is easy to configure, extremely flexible in matters of provided options and handles
tons of emails per day without flaw.

And security-wise its track record isn't all that bad either.

For me and my needs, there's only one MTA and that's Exim.

Whenever I setup an other server in need of a local MTA, the first thing I do is to install exim as
that's the tool I know how to work with (though I don't need all the SQL bells and whistles there
of course).

Philip


(Log in to post comments)

I just love Exim

Posted Aug 24, 2006 12:57 UTC (Thu) by ahoh (guest, #17291) [Link]

Could you drop a comment why Postfix lost out in your evaluation?
I use both and I always have the feeling that the configuration is more
elegant.

As the decision is upcoming for the next mail server, I am naturally
curious about the different aspects.

AFAIK Postfix has a slightly better security record as well (not to a
degree that I would weight too much in the decision making process).

I just love Exim

Posted Aug 24, 2006 13:36 UTC (Thu) by pilif (guest, #3857) [Link]

Hi,

back in 2000, Postfix didn't have any possibility to get its user information from an external
database. What you had to do was to patch in some custom patch which would have made it
impossible for me to use the distribution package management system. Well. Not impossible, but
it would have been much harder to work with.

In 2001, when I had my second look, there was some database-solution but it wasn't nearly as
flexible as Exim was and it forced you into a certain schema.

With exim, I can create completely custom queries to the database and I don't need to emulate
unix UID or stuff like that. Exim treats a user looked up via SQL just the same as an user found in
/etc/passwd or whererver else.

This means that I was able to completely integrate Exim into a normalized schema of my liking
without the need to midify anything but /etc/exim.conf

My data model consists of

- sites
- domains (each site can have multiple domains)
- users (each site can have multiple users)
- aliases (each site can have multiple aliases)

So I can have a site named lipfi to which the domains lipfi.ch and gnegg.ch are assigned to. Then
I can have the user pilif in the site lipfi which means that this user can get email adressed to

pilif@lipfi.ch
pilif@gnegg.ch

I can also have an alias in the site lipfi that assigns * (catchall) to pilif, meaning that the same
account is reachable via [whatever]@(gnegg|lipfi).ch

All that based on my completely custom (MySQL) Schema with just a few lines of customized
code in exim.conf. The configuration even creates maildirs for later use with Courier, sets quota
stored in the database and uses an exim filter per user to prefilter incoming messages *without
spawning and MDA process*.

That and the extremely well optimized MySQL-Schema make this configuration very, very fast,
capable of handling a very large amount of mail while still providing as much flexibility as I ever
want.

When I was last looking at postfix, it treated SQL-Users as aliases which had to be mapped to
some "real" users.

So this is why I went and still am going with Exim whenever I can.

Btw, this configuration uses Courier for access to the mailboxes. I created a custom authdaemon
in Perl which courier talks to to authenticate users. Users log in to the IMAP server with
<username>@<domain> and my custom authdaemon uses the domains-table to get the right
site to find the right username and then leads courier to the right maildir (previously created by
exim).

All this works without patching any upstream package.

Philip

Exim & Postfix flexibility

Posted Aug 24, 2006 18:33 UTC (Thu) by rfunk (subscriber, #4054) [Link]

When I was last looking at postfix, it treated SQL-Users as aliases which had to be mapped to some "real" users.

Must've been before virtual support.

What you were looking for sounds a lot like what I implemented with Postfix and Postfix Admin (as well as dovecot).

I used to like Exim for its simplicity and power, but Postfix has matured quite a bit over the years, so at this point I see Exim as powerful but complex, while Postfix gets the points for simplicity and power.

Exim & Postfix flexibility

Posted Aug 24, 2006 18:57 UTC (Thu) by Alan_Hicks (guest, #20469) [Link]

I concur. You really can't go wrong with either, but postfix has made some significant progress over the years. It used to be that if you wanted to do anything fancy, you had to use sendmail (or later exim) and the configuration was terribly hard. MTAs are one of those things that are constantly changing though, and postfix has grown up a lot since the grand-parent last seriously evaluated it.

Today postfix has excellent virtual user support and supports just about every authentication mechanism you would want. As for the article itself, the writer mentions that postfix docs are "scattered" around. I can't say that I've ever had a problem finding documentation for postfix, and what I do find is hands-down some of the best documentation I've ever seen for free software. The man pages are excellent (every bit as good as you would expect from the BSD world) and the txt and html docs included with the source code will walk you through just about everything.

For good dead trees documentation and an overview of how to do things with postfix, I found the O'Reilly book "Postfix - The Definitive Guide" by Kyle D. Dent to be excellent.

Exim & Postfix flexibility

Posted Aug 25, 2006 8:27 UTC (Fri) by kleptog (subscriber, #1183) [Link]

The thing that annoys me about Postfix while looking at the config file is that it's a lot of options, but from those options I have no idea how the system actually works. With Exim the config file describes the process taken to deliver a mail, from beginning to end. Take for example processing of the .forward file.

In Exim there's a director down the end that specifies the filename and how to handle it (permissions, user, etc). So I know where in the mail delivery process it appears. I can ask for it to check for the .forward files in a central directory, or check in a database if the user is allowed a .forward file. The default postfix configuration doesn't seem to mention the .forward file at all.

If someone comes along wanting special mail routing for domain X, I can just add a stanza matching that domain and add the rules. I can decide if it comes before or after the virtual tables, or anything else.

Maybe postfix can do this too, but from looking at the config file I certainly don't get that impression. It seems to be full of implicit rules, and I hate that.

Exim & Postfix flexibility

Posted Aug 25, 2006 8:59 UTC (Fri) by ahoh (guest, #17291) [Link]

When I was new to Postfix (that was at a time when the postgresql patch
was a brand new thing) I found the online documentation very helpful. And
it still is.

Don't bother too much with the comments in the config files (they are only
comments after all, usually only focusing on a very specifiy aspect). They
are helpful if you have allready some routine in running Postfix.

Have a look at http://www.postfix.org/documentation.html and dig through
the problem you want to solve there. I bet most of what you want to
configure is described there with the big picture and an overview of all
the corner cases it touches.

Postfix uses more then one file and several databases. That IS different
from a single config file to catch all.

Exim & Postfix flexibility

Posted Aug 25, 2006 18:15 UTC (Fri) by tsr2 (subscriber, #4293) [Link]

If there's a solution there (at http://www.postfix.org/documentation.html) for what I wanted to do with an MTA, it was far from obvious. The solution was relatively easy to find in the Exim documentation, so I went with Exim. IMHO the Exim documentation is significantly easier to use.

As someone who had never set up a proper MTA before, I was quite happy to set up Exim for my work, based on the available documentation, whereas I would not have been happy to do the same with postfix.

I can always find what I need in the Exim Specification or the FAQ, whereas I couldn't easily find what I needed in the postfix docs.

Exim & Postfix flexibility

Posted Aug 25, 2006 12:14 UTC (Fri) by rfunk (subscriber, #4054) [Link]

I like the fact that Postfix doesn't need everything in the config file,
just the stuff different from the default. It keeps simple
configurations simple. That's why I consider Exim and Sendmail to be
more complex to configure.

If you want a config file with *everything*, run the postconf command.
It shows the complete current configuration.


Copyright © 2017, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds