rev |
line source |
meillo@31
|
1 \chapter{\unix\ \MTA{}s}
|
meillo@27
|
2
|
meillo@44
|
3 This chapter introduces a group of \mta{}s.
|
meillo@64
|
4 The selected group will be delimited against other groups of \MTA{}s, which are described as well.
|
meillo@64
|
5
|
meillo@64
|
6 The chosen programs will be presented to the reader in a short overview and with the most important facts.
|
meillo@64
|
7 The next chapter will show a comparison of these programs in several disciplines.
|
meillo@27
|
8
|
meillo@27
|
9
|
meillo@28
|
10 \section{Types of \MTA{}s}
|
meillo@44
|
11 ``Mail transfer agent'' is a term covering a variety of programs.
|
meillo@44
|
12 One thing is common to them: they transport email from one \emph{thing} to another.
|
meillo@44
|
13 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@27
|
14
|
meillo@44
|
15 Beside this common property, \MTA{}s can be very different.
|
meillo@44
|
16 Some of them have \NAME{POP3} and/or \NAME{IMAP} servers included.
|
meillo@44
|
17 Some can fetch mails through these protocols.
|
meillo@44
|
18 Others have have every feature you can think of.
|
meillo@44
|
19 And maybe there are some that do nothing else, but transporting email.
|
meillo@28
|
20
|
meillo@64
|
21 Here are groups of \mta{}s that will not be regarded in the following chapter.
|
meillo@64
|
22 % Prof: briefly discuss the border between small MTAs (sendmail, masqmail) and state-of-the-art mailservers (postfix) and groupware (notes, exchange): give usecases.
|
meillo@31
|
23
|
meillo@64
|
24 \subsection{Relay-only \MTA{}s}
|
meillo@64
|
25 This is the most simple kind of \MTA. They transfer mail only to defined \name{smart hosts}\footnote{\name{smart host}s are \MTA{}s that receives email and route it to the actual destination}. \name{Relay-only} \MTA{}s do not receive mail, they only send it.
|
meillo@28
|
26
|
meillo@64
|
27 Most \MTA{}s can be configured to act as such a forwarder. But this is usually an additional functionality.
|
meillo@64
|
28
|
meillo@64
|
29 One would use such a program to give a system the possibility to send mail, without the need to do lots of configuration. In a local network, usually the clients are set up with such a forwarder, while there is one \name{mail server} that acts as a \name{smart host}. The ``dumb'' clients send mail only to this one \name{mail server} which does the ``real work''.
|
meillo@64
|
30
|
meillo@64
|
31 Examples for that group are: \name{nullmailer}, \name{ssmtp} and \name{esmtp}.
|
meillo@64
|
32
|
meillo@64
|
33
|
meillo@64
|
34 \subsection{Groupware}
|
meillo@64
|
35 Normally the term ``groupware'' does not mean one single program, but a suite of programs. They are build up a framework which can be populated with various modules that provide actual funktionality. These modules including mail transfer, file storage, calendars, resource management, instant messaging and more.
|
meillo@64
|
36
|
meillo@64
|
37 One would use one of these program suites if the main work to do is not mail transfer, but providing communication and team working support for a group of people. The most common scenario are companies. They have \name{groupware} running to provide adequate services for their teams to work efficently. But home servers may provide \name{groupware} services for the family members also.
|
meillo@64
|
38
|
meillo@40
|
39 Examples for this kind of programs are: \name{Lotus Notes}, \name{Microsoft Exchange}, \name{OpenGroupware.org} and \name{eGroupWare}.
|
meillo@28
|
40
|
meillo@28
|
41
|
meillo@64
|
42 \subsection{More limitations}
|
meillo@44
|
43 Third, only \emph{sendmail-compatible} \MTA{}s will be regarded in the competition.
|
meillo@64
|
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. %FIXME: give an example for non-sendmail-compatible
|
meillo@44
|
45 The reason is the heavy reliance of \unix\ systems on the existance of a programs called \path{sendmail}.
|
meillo@44
|
46 This has historical reasons. See section \ref{sec:sendmail} for further information.
|
meillo@44
|
47
|
meillo@44
|
48 Further more, only programs with source code available are regarded. %FIXME: why
|
meillo@27
|
49
|
meillo@27
|
50
|
meillo@64
|
51 \subsection{The ones not regarded here}
|
meillo@64
|
52 The candidates for the competition in the next chapter are a subset of the \MTA{}s available.
|
meillo@64
|
53 Comparision between totally different programs (apart of one function) makes not much sense. %FIXME: better words
|
meillo@64
|
54 One would not use a program for a job it is not suited for.
|
meillo@64
|
55 Therefor \mta{}s that are rarely similar to \masqmail\ are not regarded.
|
meillo@64
|
56
|
meillo@64
|
57
|
meillo@64
|
58 \section{The programs regarded}
|
meillo@28
|
59 The programs remaining are \emph{sendmail-compatible} ``smart'' \MTA{}s that do not offer masses of features unrelated to mail transport.
|
meillo@26
|
60
|
meillo@44
|
61 For the comparision, five programs of this group are taken.
|
meillo@44
|
62 These are: \sendmail, \name{qmail}, \name{postfix}, \name{exim} and \masqmail.
|
meillo@44
|
63 The four alternatives to \masqmail\ are the most important representatives of the regarded group.
|
meillo@44
|
64 %TODO: what about having one program as ``outsider'' ...?
|
meillo@44
|
65
|
meillo@44
|
66 Other, but not covered, group members are: %FIXME: are these all MTAs of that group? why these and not others?
|
meillo@58
|
67 %TODO: what about `courier-mta'?
|
meillo@27
|
68
|
meillo@28
|
69 Here follows a small introduction to each of the five.
|
meillo@27
|
70
|
meillo@28
|
71 \subsection{\sendmail}
|
meillo@60
|
72 \sendmail\ is the most popular \mta.
|
meillo@60
|
73 Since it was one of the first \MTA{}s and was shipped by many vendors of \unix\ systems.
|
meillo@60
|
74
|
meillo@60
|
75 The program was written by Eric Allman as the successor of his program \name{delivermail}.
|
meillo@60
|
76 \sendmail\ was first released with \NAME{BSD} 4.1c in 1983.
|
meillo@60
|
77 Allman was not the only one working on the program.
|
meillo@60
|
78 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
|
79
|
meillo@60
|
80 \sendmail\ is focused on transfering mails between different protocols and networks, this lead to a very flexible (though complex) configuration.
|
meillo@60
|
81
|
meillo@60
|
82 The latest version is 8.14.3 from May 2008.
|
meillo@64
|
83 The program is distributed under the \name{Sendmail License} as both, \freesw\ and proprietary software of \name{Sendmail, Inc.}.
|
meillo@64
|
84
|
meillo@60
|
85 Further development will go into the project \name{MeTA1} which succeeds \sendmail.
|
meillo@60
|
86
|
meillo@60
|
87 More information can be found on the \sendmail\ homepage \citeweb{sendmail:homepage} and on \citeweb{wikipedia:sendmail} and \citeweb{jdebp}.
|
meillo@60
|
88
|
meillo@27
|
89
|
meillo@28
|
90 \subsection{\name{qmail}}
|
meillo@60
|
91 \name{qmail} is seen by its community as ``a modern SMTP server which makes sendmail obsolete''.
|
meillo@60
|
92 It was written by Daniel~J.\ Bernstein starting in 1995.
|
meillo@60
|
93 His primary goal was to create a secure \MTA\ to replace the popular, but vulnerable, \sendmail.
|
meillo@60
|
94
|
meillo@60
|
95 \name{qmail} first introduced may innovative concepts in \mta\ design and is generally seen as the first security-aware \MTA\ developed.
|
meillo@60
|
96
|
meillo@60
|
97 Since November 2007, \name{qmail} is released in the \name{public domain} which makes it \freesw.
|
meillo@60
|
98 The latest release is 1.03 from July 1998.
|
meillo@60
|
99
|
meillo@60
|
100 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
|
101
|
meillo@27
|
102
|
meillo@28
|
103 \subsection{\name{postfix}}
|
meillo@64
|
104 The \name{postfix} project was started in 1999 at \name{IBM research}, then called \name{VMailer} or \name{IBM Secure Mailer}.
|
meillo@64
|
105 Wietse Venema's program ``attempts to be fast, easy to administer, and secure. The outside has a definite Sendmail-ish flavor, but the inside is completely different.''\citeweb{postfix:homepage}
|
meillo@64
|
106 In fact, \name{postfix} was mainly designed after qmail's architecture to gain security.
|
meillo@64
|
107 But in contrast to \name{qmail} it aims much more on being fast and full-featured.
|
meillo@64
|
108
|
meillo@64
|
109 Today \name{postfix} is taken by many \unix systems and \gnulinux distributions as default \MTA.
|
meillo@64
|
110
|
meillo@64
|
111 The latest stable version is numbered 2.5.5 from August 2008.
|
meillo@64
|
112 \name{postfix} is covered by the \name{IBM Public License 1.0} which is a \freesw\ license.
|
meillo@64
|
113
|
meillo@64
|
114 Additional information is available on the program's homepage \citeweb{postfix:homepage}, on \citeweb{jdebp} and \citeweb{wikipedia:postfix}.
|
meillo@64
|
115
|
meillo@27
|
116
|
meillo@28
|
117 \subsection{\name{exim}}
|
meillo@64
|
118 \name{exim} was started in 1995 by Philip Hazel at the \name{University of Cambridge}.
|
meillo@64
|
119 Its age is about the same as \name{qmail}'s, but the architecture is totally different.
|
meillo@64
|
120
|
meillo@64
|
121 While \name{qmail} took a completely new approach, \name{exim} forked of \name{smail-3}, and therefor is monolitic like that and like \sendmail.
|
meillo@64
|
122 But having no separation of the individual components of the system, like \name{qmail} and \name{postfix} have, did not hurt.
|
meillo@64
|
123 Its security is comparably good.
|
meillo@64
|
124
|
meillo@64
|
125 \name{exim} is highly configurable, especially in the field of mail policies.
|
meillo@64
|
126 This makes it easy to specify how mail is routed through the system and who is allowed to send email to whom.
|
meillo@64
|
127 Also interfaces for integration of virus and spam check programs are provided by design.
|
meillo@64
|
128
|
meillo@64
|
129 The program is \freesw, released under the \GPL. The latest stable version is 4.69 from December 2007.
|
meillo@64
|
130
|
meillo@64
|
131 One finds \name{exim} on its homepage \citeweb{exim:homepage}. More information about it can be retrieved from \citeweb{wikipedia:exim} and \citeweb{jdebp}.
|
meillo@64
|
132
|
meillo@28
|
133
|
meillo@28
|
134 \subsection{\masqmail}
|
meillo@44
|
135 The \masqmail\ program was written by Oliver Kurth, starting in 1999.
|
meillo@64
|
136 His aim was to create a small \mta\ which is especially focused on computers with dial-up connections to the internet.
|
meillo@64
|
137 \masqmail\ is easy configurable for situations which are rarely solveable with the common \MTA{}s.
|
meillo@27
|
138
|
meillo@64
|
139 \masqmail\ queues mail for destinations outside the local network if no connection to the internet is online.
|
meillo@64
|
140 If the machine goes online, this mail is sent.
|
meillo@64
|
141 Mail to local machines is sent immediately.
|
meillo@27
|
142
|
meillo@64
|
143 While the other \MTA{}s are more general purpose \MTA{}s, \masqmail\ aims on special situations only.
|
meillo@64
|
144 Nevertheless can it handle ordinary mail transfers too.
|
meillo@64
|
145
|
meillo@64
|
146 \masqmail\ is released under the \GPL, which makes it \freesw. The latest stable version is 0.2.21 from November 2005.
|
meillo@64
|
147
|
meillo@64
|
148 The program's new homepage \citeweb{masqmail:homepage} provides further information about this \MTA.
|