Tuesday, February 5, 2008

A comparison of Mail Transfer Agents

For a lot of people the choice of the Mail Transfer Agent is important. The wrong choice can mean lost time and money, lower reliability and increased risk to networks.

Mail Transfer Agents - Tool for the Job
For a lot of people the choice of the Mail Transfer Agent is important. The wrong choice can mean lost time and money, lower reliability and increased risk to networks.

Debates over MTAs sometimes last for years, and this article covers the main points that come up over and over. Unfortunately, apart from this article there are no general comparisons of MTA characteristics on the Internet, and even very little benchmarking. The remarks here are personal opinions drawn from readily-verifiable facts and subjective comments drawn from experience. Nearly every MTA has a vociferous and sometimes combative group of supporters, not always including the principal authors of the MTA.

It is easy to see why administrators care about which MTA they use. Large installations require a lot of time spent tuning the MTA, and for any site email is without doubt the most important use of the Internet. End users can get by without a web site or a browser for a little, but without email business stops. And so countless administrators invest time in learning how to tweak their internet mail delivery tool in order to meet their various goals. But which tool should they use when?

Most Internet email seems to be delivered by one of four MTAs:

Postfix
Exim
qmail
Sendmail
How To Compare MTAs
Each of these four widely-used MTAs have broadly similar features. All of them can handle large amounts of mail; can interact with databases in many formats; have an extensive knowledge of the many SMTP variants in use; are not trivially exploitable; have the source code available in a free manner; have third-party documentation available; and have significant user communities. They even have logos!

There are some assumptions implicit in the rest of this article. If you are looking for a product that presents an administrative interface and performance results similar to Microsoft Exchange or Lotus Notes, this document is not for you. I do not believe either of these products and their aspiring competitors can be classed as MTAs, since they attempt to address dozens or hundreds of other functions besides delivering mail. On the other hand, if you want some guidance for selecting between credible alternatives for an important mail hub, read on.

No MTA can score well in every way of measuring an MTA. The needs of users vary greatly and some criteria are mutually orthogonal. Commonly cited MTA selection criteria are:

Ease of administration
Security
Performance
Long-term viability
Design features decide how much each MTA meets these criteria. But since opinions vary widely there are many equally valid different comparisons. Contradictory examples of these features are:

single configuration file, so everything is in one place
many single-purpose and optional configuration files
minimal and careful syntax
powerful embedded scripting language
maximum code stability
source code contributions regularly incorporated
minimum possible features added
Just about every mail delivery scenario can be met, in one way or another, by all four MTAs. So there is no one right answer.

qmail
qmail Summary

MTA details
Website: http://www.qmail.org
Out since: 1996
Goals: Security; Simplicity; Efficiency
Non-goals: Unix conventions, ease of admin
License: not open source or free
Classification
Config: Many simple control files
Releases: Never (since 1997!)
Commiters: 1
Maj. contributors: 0
Flexibility: Very, if you study hard
Subjective Comments
Administration: Buy one of the books!
Security: Good record
Performance: Excellent
Community: Smallish but very active
Sendmail compatibility: Good
Note: qmail is unmaintained: the author has not released since 1997 and does not permit others to make releases. It is also not Open Source Software, although the source is visible and usable within very tight restrictions.

So why should anyone care about qmail? Perhaps they shouldn't in 2006, but there were good reasons to notice qmail in its first five years of life:

qmail had a radical and seemingly impregnable [3] security design.
qmail solved in one stroke all the problems of the hideous BSD mailbox format with the Maildir message format.
qmail was fast. If your only other choices were Sendmail or smail, and high-volume list management was done on IBM mainframes, qmail was a welcome alternative.
These days these advantages are at least equaled by other MTAs, and Maildir has become Maildir++. Yes, qmail taught MTA users and developers some lessons. No, qmail isn't a realistic option these days: it doesn't support modern mail standards or even IPv6; it isn't maintained; it isn't possible for someone else to maintain it; its many oddities are increasingly painful relative to any benefits qmail has.

In 2006 a qmail maestro is someone who knows which collection of patches to apply to a nine year-old program. In 2004 a group of qmail experts put together netqmail, a distribution of qmail patches. But even that hasn't been touched for two years, and now there are patches for the netqmail patch collection.

qmail is still used on some very high-volume sites, and there are still people who strongly believe that qmail is very correct code. qmail source is legal to copy, use and patch. The author's licensing analysis is thought-provoking but thus far irrelevant to the copyright debate.

qmail comes with more free personality than nearly any other program -- what other MTA is likely to ask "hath the daemon spawn no fire?" when it can't start? See qmail.org for the source code.

Postfix
Postfix Summary

MTA details
Website: http://www.postfix.org
Out since: 1997
Goals: Security; Easy of use; Standards
Non-goals: General purpose MTA
License: IPL (a disused license)
Classification
Config: Single control file
Releases: Infrequent
Commiters: 1
Maj. contributors: 3
Flexibility: Easy to change
Subjective Comments
Administration: Intermediate, good docs
Security: Good record. Credible team.
Performance: Excellent
Community: Medium-sized
Sendmail compatibility: Very good
Design goals: Secure, easy to administer, efficient.

Postfix is, like qmail, written by a prolific freeware security specialist, this time Wietse Venema although the result is a recognizable ordinary Unix suite of programs. It is almost entirely the work of Wietse, with occasional contributions in isolated areas such as integrating the Transport Layer Security (TLS) libraries. Releases come in bursts, with very small improvements at times. Release management is by Wietse personally.

Postfix has a monolithic main configuration file like Exim and Sendmail. It is table-driven, everything is a table and a table can be represented in all kinds of ways from plain text files to databases to relational databases and more. It handles regular expressions in many contexts, using the Perl Compatible Regular Expression library developed for Exim. Postfix consists of about 150k lines of code.

Postfix fits somewhere between qmail and Exim. It consists of several programs (but fewer than qmail), and has a monolithic configuration file. Postfix has a strong emphasis on security, but not to the extent of imposing unusual Unix management practices. Postfix is quite flexible in its configuration file, but not to the extent of Exim. Postfix postdates qmail and follows a vaguely analogous security approach, an approach which was relatively much more important in 1997.

Postfix has been measured by many as being extremely fast, and I have found it very efficient. My impression is that it is more efficient than Exim but not to a noticeable degree even with very high load. Postfix and qmail seem to use about the same amount of memory but by deliberate design qmail uses more bandwidth than Postfix because qmail only ever sends a single message per SMTP session even if there are multiple messages going via the same host. Postfix is quite Unix-centric with its secure design and is not maintained on very non-Unix platforms such as Windows.

Postfix is, like Exim, a drop-in replacement for Sendmail. Besides just implementing the sendmail command line interface, Postfix is compatible with Sendmail milters, an impressive and unequaled achievement to those that have investment in such modules.

The Postfix community is very active. Online documentation is quite good but scattered. There are three Postfix books in English. See postfix.org and postfixwiki.org for the source code.

New to Linux!!

If you want to begin with linux and want your basic to be strong then do go to this link and check out the basic commands to learn the linux administration. If you have any issues with linux you can comment and ask me. Will try to resolve as much as i can..