
meillo@31: \chapter{\unix\ \MTA{}s}
meillo@27: 
meillo@44: This chapter introduces a group of \mta{}s.
meillo@44: These will be presented to the reader in a short overview and with the most important facts.
meillo@44: The next chapter will show a comparison of the candidates in several disciplines.
meillo@28: 
meillo@27: 
meillo@28: \section{Types of \MTA{}s}
meillo@44: ``Mail transfer agent'' is a term covering a variety of programs.
meillo@44: One thing is common to them: they transport email from one \emph{thing} to another.
meillo@44: These \emph{things} can be hosts, meaning independent machines, or protocols like \NAME{SMTP} and \NAME{UUCP}, between which mail is transfered.\footnote{\sendmail{}'s initial purpose was moving mail between \NAME{UUCP}, \name{Berknet} and \NAME{SMTP}.}
meillo@28: 
meillo@44: Beside this common property, \MTA{}s can be very different.
meillo@44: Some of them have \NAME{POP3} and/or \NAME{IMAP} servers included.
meillo@44: Some can fetch mails through these protocols.
meillo@44: Others have have every feature you can think of.
meillo@44: And maybe there are some that do nothing else, but transporting email.
meillo@28: 
meillo@31: 
meillo@28: \section{The ones not regarded here}
meillo@44: The candidates for the competition in the next chapter are a subset of the \MTA{}s available.
meillo@44: Comparision between totally different programs (apart of one function) makes not much sense.
meillo@44: One would not use a program for a job it is not suited for.
meillo@44: Therefor \mta{}s that are rarely similar to \masqmail\ are not regarded.
meillo@27: 
meillo@44: The first group of programs to sort out are the so called \name{groupware} programs.
meillo@44: These provide a whole lot of functions, including mail transfer, file storage, calendars, resource management, instant messaging and more.
meillo@40: Examples for this kind of programs are: \name{Lotus Notes}, \name{Microsoft Exchange}, \name{OpenGroupware.org} and \name{eGroupWare}.
meillo@27: 
meillo@40: The second group are the \name{relay-only} \MTA{}s.
meillo@44: They transfer mail only to defined \name{smart hosts}\index{smart host}\footnote{\MTA{}s that receives email and route it to the actual destination}.
meillo@44: Most \MTA{}s can be configured to act as such a forwarder.
meillo@44: But this is normally an additional functionality.
meillo@28: Examples for that group are: \name{nullmailer}, \name{ssmtp} and \name{esmtp}.
meillo@28: 
meillo@44: Third, only \emph{sendmail-compatible} \MTA{}s will be regarded in the competition.
meillo@44: Hence all \MTA{}s not having a \emph{sendmail-compatible} interface or not offering it as a compatibility addon, will not be covered here.
meillo@44: The reason is the heavy reliance of \unix\ systems on the existance of a programs called \path{sendmail}.
meillo@44: This has historical reasons. See section \ref{sec:sendmail} for further information.
meillo@44: 
meillo@44: Further more, only programs with source code available are regarded. %FIXME: why
meillo@27: 
meillo@27: 
meillo@26: \section{The competitors}
meillo@28: The programs remaining are \emph{sendmail-compatible} ``smart'' \MTA{}s that do not offer masses of features unrelated to mail transport.
meillo@27: 
meillo@44: For the comparision, five programs of this group are taken.
meillo@44: These are: \sendmail, \name{qmail}, \name{postfix}, \name{exim} and \masqmail.
meillo@44: The four alternatives to \masqmail\ are the most important representatives of the regarded group.
meillo@44: %TODO: what about having one program as ``outsider'' ...?
meillo@44: 
meillo@44: Other, but not covered, group members are: %FIXME:  are these all MTAs of that group? why these and not others?
meillo@58: %TODO: what about `courier-mta'?
meillo@27: 
meillo@57: % http://www.yolinux.com/TUTORIALS/LinuxTutorialMailMTA.html
meillo@57: % http://homepages.tesco.net/~J.deBoynePollard/Reviews/UnixMTSes/
meillo@57: 
meillo@28: Here follows a small introduction to each of the five.
meillo@27: 
meillo@28: \subsection{\sendmail}
meillo@60: \sendmail\ is the most popular \mta.
meillo@60: Since it was one of the first \MTA{}s and was shipped by many vendors of \unix\ systems.
meillo@60: 
meillo@60: The program was written by Eric Allman as the successor of his program \name{delivermail}.
meillo@60: \sendmail\ was first released with \NAME{BSD} 4.1c in 1983.
meillo@60: Allman was not the only one working on the program.
meillo@60: Other people developed own versions of it and a variety of flavors came up, especially in the late eighties when Allman was inactive.
meillo@60: 
meillo@60: \sendmail\ is focused on transfering mails between different protocols and networks, this lead to a very flexible (though complex) configuration.
meillo@60: 
meillo@60: The latest version is 8.14.3 from May 2008.
meillo@60: Further development will go into the project \name{MeTA1} which succeeds \sendmail.
meillo@60: 
meillo@60: More information can be found on the \sendmail\ homepage \citeweb{sendmail:homepage} and on \citeweb{wikipedia:sendmail} and \citeweb{jdebp}.
meillo@60: %FIXME: license
meillo@60: 
meillo@28: 
meillo@28: \subsection{\name{qmail}}
meillo@60: \name{qmail} is seen by its community as ``a modern SMTP server which makes sendmail obsolete''.
meillo@60: It was written by Daniel~J.\ Bernstein starting in 1995.
meillo@60: His primary goal was to create a secure \MTA\ to replace the popular, but vulnerable, \sendmail.
meillo@60: 
meillo@60: \name{qmail} first introduced may innovative concepts in \mta\ design and is generally seen as the first security-aware \MTA\ developed.
meillo@60: 
meillo@60: Since November 2007, \name{qmail} is released in the \name{public domain} which makes it \freesw.
meillo@60: The latest release is 1.03 from July 1998.
meillo@60: 
meillo@60: The programs homepages are \citeweb{qmail:homepage1} and \citeweb{qmail:homepage2}. Further information about \name{qmail} is available on \citeweb{lifewithqmail}, \citeweb{wikipedia:qmail} and \citeweb{jdebp}.
meillo@60: 
meillo@27: 
meillo@28: \subsection{\name{postfix}}
meillo@31: %TODO: author, date of first release, basic intention of program, ...
meillo@31: %TODO: references to various descriptions
meillo@27: 
meillo@28: \subsection{\name{exim}}
meillo@31: %TODO: author, date of first release, basic intention of program, ...
meillo@31: %TODO: references to various descriptions
meillo@28: 
meillo@28: \subsection{\masqmail}
meillo@44: The \masqmail\ program was written by Oliver Kurth, starting in 1999.
meillo@44: His aim was to create a \mta\ which is especially focused on computers with dial-up connections to the internet.
meillo@44: \masqmail\ handles situations which are rarely solveable with the common \MTA{}s.
meillo@31: %TODO: references to various descriptions
meillo@27: 
meillo@27: 
meillo@58: % briefly discuss the border between small MTAs (sendmail, masqmail) and state-of-the-art mailservers (postfix) and groupware (notes, exchange): give usecases.




