Last Update: November, 2003

OPEN SOURCE MAIL SERVER COMPARISON


This is a comparison between all the free open-source mail software solutions actually avalaible. I want to thanks all the sofware developers for developing such a great software for the open source community.





COURIER-MTA

EXIM

POSTFIX

SENDMAIL

QMAIL

Version:

Courier-0.44.x

Exim Version 4.2x

Postfix Version 2.0 Patchlevel x

Sendmail 8.12.x

qmail-1.03


Managing Imap

Exim: The Mail Transfer Agent

Postfix

Sendmail

The qmail Handbook

Licence:

GPL

GPL

IBM Public License

?

Especial







Authenticated SMTP

Login/CRAM-MD5

Login/Plain/CRAM-MD5

yes (using SASL)

yes(using SASL)

patch

SMTP over SSL/TLS

yes

?

?

?

patch

STARTTLS extension

yes

yes

?

yes

patch

POP before SMTP

no

?

Yes

?

addon

Virtual Domains support

yes

yes

yes

yes

yes

Supported Backends

Ldap / MySQL / PostgreSQL

Ldap / MySQL

Ldap / MySQL

Ldap

Ldap patch / MySQL patch

IPv6 support

yes

yes

no (patch)

yes

patch

Included POP server

yes (SSL support, Apop not included, SASL included)

no

no

no

yes

Included IMAP server

yes (SSL included)

no

no

no

no

Mailbox Format:

Maildir /mbox/Maildir ++

Maildir/mbox/mbx?

Maildir/mbox

mbox

Maildir/mbox

Quota support

yes

yes

patch

no

patch / addons

Mailing list manager

couriermlm

no

?

?

ezmlm

Configurable Deliver-Status-Notification (DSN)

yes

yes

no?

?

no

Log analysing utilities

no

yes

yes

yes

yes

Verbosity logging options:

no

yes

yes

?

yes

Web-based Administration

yes

no

yes / no

yes/no

yes / no


SSH

NFS & NIS

Essential SNMP

Sendmail Administration

Running Qmail




COURIER-MTA

EXIM

POSTFIX

SENDMAIL

QMAIL

Security:

?

low-medium

high

low

high / very high

Installation:

medium

medium

easy - medium

easy

medium-difficult

Configuration:

medium

easy-medium

easy

difficult

easy

Performance:

?

medium

high

low

high

Maturity/status :

low

low

medium

high

medium

Documentation:

low

high

medium-high

high

high (but sometimes confusing)

Features:

high

medium-high

medium

high

low (There are many patches available for adding Features)

- RPMs:

- Postfix: http://web6.dialin.co.uk/~sjmudd/postfix/RPMS/i386/
- Courier-MTA: ftp://duke.eburg.com/pub/linux/redhat-7.x-mycontrib/i386/
- Exim: http://www.rpmfind.net/linux/rpm2html/search.php?query=exim
- qmail: there are not binary rpm packages, but you can get source rpm packages from: http://www.qmail.org/rpms/var-qmail/

- Licence:

- qmail: "you cannot redistributed modified qmail source code packages"

- Quota support:

- Postfix: Using virtual delivery agent, you can use virtual_mailbox_size that it is something similar to quotas, but you cannot use it with Maildir mailboxes. You can also try the following patches:
- Patch provided by Keith Stevenson
- Patch Provided by alcove-labs
or look for new patches in Postfix addons page.
These patches have never been included in the original distribution because the author Wietse Venema doesn't want to integrate functionnalities that does not deal with smtp server directly.
- Courier-MTA: "Courier can manually enforce a quota for mail accounts that use maildirs. This quota enforcement is implemented entirely in software, and is available only when maildirs++ are used. This quota implementation will also work with virtual accounts. At this time, maildir quota support is available only with userdb and LDAP authentication back-ends. Since version 0.34.1 also maildir quota support is implemented for a MySQL back-end ", more info: http://www.inter7.com/courierimap/README.maildirquota.htmlhttp://www.courier-mta.org/maildirquota.html
- qmail: since qmail normally delivers to a mailbox in the user's directory, normal Unix filesystem quotas can be used to restrict the size of mailboxes. For single-UID applications, there are numerous patches and add-ons listed on http://www.qmail.org, including http://www.pgregg.com/projects/qmail/mailquotacheck/index.php and http://www.mrjesus.org/patches/qmail-local-quota.patch

- Security

- Both Qmail and Postfix claim to be safe MTA's.
Here you can find some old security problems:
- Exim: Exploit local compromise root account, Date: July 21, 1997
- qmail: QMail RCPT Denial of Service vulnerability  due to memory exhaustion Date: 1997-6-11 v 1.03, due to improper configuration, not an actual bug, but anyway it was never fixed
- Postfix: Memory exhaustion attack vulnerability Date: 14/10/2001 

- Maturity/status:

- qmail: " Seems than Dan Bernstain (author) has not updated qmail recently (since ...) anyway he claims to be working on a new release since 10 Apr 2001"

- SMTP-Auth:

- Introduction: This is an extension to the SMTP protocol, described inRFC 2554, which allows a client SMTP host to authenticate itself to a server. By this means a server might, for example, recognize clients that are permitted to use it as a relay. SMTP authentication is not of relevance to the transfer of mail between servers that have no managerial connection with each other.

Very briefly, the way SMTP authentication works is as follows:

The server advertises a number of authentication mechanisms.
The client issues an AUTH command, naming a specific mechanism. The command may, optionally, contain some authentication data.
The server may issue one or more challenges, to which the client must send appropriate responses. In the simple authentication mechanisms, the challenges are just prompts for user names and passwords. The server does not have to issue any challenges -- in some mechanisms the relevant data may all be transmitted with the AUTH command.
The server either accepts or denies authentication.
If you are setting up a client, and want to know which authentication mechanisms the server supports, you can use Telnet to connect to port 25 (the SMTP port) on the server, and issue an EHLO command. The response to this includes the list of supported mechanisms.

- Postfix: different authentication methods are supported using Cyrus SASL library
- Exim:
- Sendmail: different authentication methods are supported using Cyrus SASL library

- Cyrus SASL Library: is the Simple Authentication and Security Layer, a method for adding authentication support to connection-based protocols. Actually support the following methods: ANONYMOUS, CRAM-MD5, KERBEROS_V4, PLAIN, CRAM-MD5 (deprecated), GSSAPI (MIT Kerberos 5 or Heimdal Kerberos 5), DIGEST-MD5, LOGIN(unsupported), SRP (unsupported, may not work). For different methods supported by email clients you can check this table: SASL Ref Client

- Installation:

- qmail: Sometimes it is a bit confusing due to many patches make confusing installation also there are not binary rpm packages availables , you have to compile from source.

- Release

- Postfix was released 22/01/1999 for the first time

- IPv6

- Posffix does not implement native ipv6 support, but i think they are working on it ¿am i right?
- Exim: http://www.exim.org/exim-html-3.20/doc/html/spec_1.html#SEC6
- Courier-MTA: experimental

- Pop Server:

- Courier-mta: SSL version of pop service is also included

- Imap Server:

- Courier-mta: SSL version of imap service is also included, added experimental support for IMAP quota extension

- IPv6:

- Courier-mta: experimental

- Ldap:

- Courier-mta: Supports for OpenLDAP 2.x, LDAP-based mail routing is also supported.
- qmail: you can find this patch in http://www.nrg4u.com (Supports OpenLDAP 1.2.X and Mozilla Directory SDK.
- Exim

- MySQL:

- Postfix: also have support for MYSQL connections over UNIX-domain
- Courier-MTA: actually v.0.38 there is no mysql-based alias support.

- PostgreSQL:

- Courier-MTA: added experimental support since version 0.36

- Mailbox Format:

- Maildir: the first implementation and definition of Maildirs were in qmail mail server. Since then independent developers added additional features on top of if, such a folders an volutary mail quotas.
- Mbox Benchmarking: Sam Varshavchik
- Maildir++:
this extension to the maildir format allows a "voluntary" maildir quota implementation that does not rely on filesystem-based quotas, more info: http://www.inter7.com/courierimap/README.maildirquota.html

- StartTLS:

- Exim

- Configurable DSN Extensions:

What is "Configurable DSN Extension"?
When a message fails to get delivered, or remains on the queue for more than a configured amount of time, Mail server sends a message to the original sender reporting the status of the delivering. Some MTA provides the avility to configure the text of these messages.
- Courier-MTA: "Courier offers complete support for the DSN SMTP extensions, as specified by RFC 1894". Example
- RFC Documentation

- ESMTP over SSL/TLS:

- Courier-MTA: "Courier-MTA ESMTP client has the ability to verify that X.509 certificates are signed by a trusted certificate authority when sending mail with ESMTP over SSL/TLS. This is disabled by default."

- Documentation:

- Exim: "Exim the mail transport Agent" written by Philip Hazel
- Qmail: "Life with qmail" written by Dave Sill

- Web-based Administration:

- Courier-mta: It requires a CGI-capable web server
- Postix: using webmin
- qmail: using webmin

- Verbosity logging options:

- Courier-mta: no verbosity logging options.
- qmail: by default logs everything, the loggin utilities used with most qmail installations -- from the daemontools quite -- allow the user to filter the log stream as they desire.
- Postfix: the Postfix SMTP server maintains a record of SMTP conversations for debugginf purposes. Depending on local configuration details this record is mailed to the postmaster whenever an SMTO session terminates with errors.

- Log analising utilities:

- Postfix
 http://jimsun.linxnet.com/postfix_contrib.html
  MRTG for Postfix
 Postfix Addons section

- Sendmail:
http://www.reedmedia.net/software/sendmail_stats/#other-reports

- qmail:
qmail analog: the standard log analyzer, developed by the author of qmail
http://www.enderunix.org/isoqlog/maillog-stable15/ (Very Good)

- Exim:
The Exim Monitor is an optional extra; it displays information about Exim's processing in an X window, and an administrator can perform a number of control actions from the window interface.
There are a set of tools for summarising the queue, determining what each exim process is currently doing, examining the deliveries hints databases, and summarising the log files into a concise report on activity.

- Other mail server information pages:

- Tucows Email Servers
- Cameron Laird's personal notes on mail transfer agents
- http://www.sendmail.org/~ca/email/mel/Links.html





Changelog:

November 2003
- Update software versions
- Removed contact mail

July 2002
- Completed some information related to supported authentication methods
- Courier version updated.

May 2002
- uptated severs versions
- Added Changelog :)
- qmail: added MySQL link patch - Dave Sill
- qmail: added Starttls link patch - Dave Sill
- qmail: added link to pop before smtp addon - Dave Sill
- qmail: added "Life with qmail" link to documentation.
- qmail: added quota support patches - Dave Sill
- qmail: added comment about logging options
- qmail: added link to source rpm packages
- qmail: Dan Bernstain is working on a rewrite from qmail
- qmail: added qmail analog link to log analysis utilities
- Courier-MTA: added experimental support of IMAP QUOTA extension
- Courier-MTA: added support for quotas in mysql backend since courier 0.34.1
- Courier-MTA: Added PostgreSQL experimental support
- Postfix: added verbosity logging note.
- Postfix: added security vulnerability reported in Nov 2001, and comment to qmail security vulnerability
- Added Maildir++ description
- Corrected broken links and typos
- Verification of incoming links row deleted.

Feel free to send me your comments: XXX

Counter