Gentoo Wiki


This is a quick rough draft just to get some layout. I'm hoping some Exim, Sendmail, Courier, and qmail people eventually runs with this and fill in my Postfix-centric gaps.

This maybe useful, at least the best impartial (no flame) comparison I could find:


The Major Players


Courier MTA not to be confused with Courier-imap. Latest version 0.53.3


Latest version 4.66.


Latest stable version: Postfix 2.4 Patchlevel 6 (26.12.07)

Actively developed due to Linux community momentum. Very lightweight and easy to configure. Support multiple queue. Out of box working well and give high performance.


Latest version 1.03 though there is some confusion here. 1.03 was released in 1998 and the license prevents users from integrating their own patches into the code base. Recently a package called netqmail-1.05 was released as a patch to 1.03, but providing a single package with the essential qmail patches as decided by the fellows behind LWQ.


Latest version 8.13.8. Development has slowed in recent years.

A lot of the info comparing sendmail to other mailers is very dated, so take with a grain of salt. It used to ship with rotten default settings that resulted in slowness and poor scalability, and used to be poorly documented. Also in the late 90s/early 00s there was a string of security problems getting a lot of press. Of course the security problems were fixed long ago, but sendmail's reputation was tarnished and it inspired people to develop alternatives like qmail and postfix, built from the ground up with security and scalability in mind.

Sendmail is still very widely used and is still the default MTA on a lot of systems. Its scalability is improved but may not be in the same league as postfix or qmail. Main things to know:


Sendmail and Exim are a single binary, where as Postfix and qmail are a collection of processes that each have specific duties. There are advantages in both approaches.


Sendmail milters use less system resources than filtering in Postfix and qmail. When a milter completes it's completion code is kept and the binary acts on it. Postfix and qmail both have to requeue the message... I don't think I'm explaining this very well.

sendmail -v

A monolithic binary allows you to watch the whole handling of the email whereas Postfix or qmail lose track of it after the message is passed to another binary. Postfix has since implemented a workalike function that sends the connection and delivery details back to the sender.

Mail storage

MTAs maintain inbound and outbound queues. Some MTAs can be configured to use an external database for this, but usually they just use their own flat-file database, with each message in a separate file. MTAs vary in their ability to show you what's in the queue, due to their architectures.

Mail for local users will be stored somewhere, as well: from the user's point of view, their "inbox". Many MTAs currently support at least two methods of storing such incoming mail on the filesystem: maildir and mbox. Some also support using external databases or other outdated filesystem based formats like mh. External databases can scale well, but introduce a dependency; many sysadmins don't want to introduce any more possible points of failure into their mail systems than they have to. Don't run a database if you're not prepared to secure it, make regular backups, and tune it as necessary.

maildir vs mbox

I believe Exim, Postfix, qmail, and Sendmail all support .maildir/ now though Sendmail may still depend on a delivery agent like procmail to make that happen.


Stores each message in a separate file. Less file locking. Allows the use of shared storage which is important for scaling. Hard on filesystems due to each mail being a single file. Read more about it at wikipedia:Maildir.


mbox is an older mail storage format that stores all mail serially, in a single file, with each message separated by a line of metadata. Although it is very widely supported and easy to work with, it has several drawbacks and is therefore considered by many to be deprecated:

Read more about it at wikipedia:Mbox and here.


Is not an MTA

Local Delivery

not supported


not a daemon so it's not listening on port 25 and if your mail-hub host is unavailable it will never resend your message!

Does it do anything?

relays email that it recieved via calls to the local /usr/sbin/sendmail wrapper.

Retrieved from ""

Last modified: Mon, 26 May 2008 08:46:00 +0000 Hits: 17,586