comparison thesis/tex/1-Introduction.tex @ 96:8db526d7a678

reorganized preface and introduction (feels better now)
author meillo@marmaro.de
date Sun, 16 Nov 2008 15:29:59 +0100
parents a6f8a93abd64
children e3987669b64b
comparison
equal deleted inserted replaced
95:e83eada077fd 96:8db526d7a678
1 \chapter{Introduction} 1 \chapter{Introduction}
2 \label{chap:introduction} 2 \label{chap:introduction}
3 3
4 % say what you want to say 4 << say what you want to say >>
5 5
6 6 << the overall goal of the book >>
7 \section{Transporting mail}
8
9
10 \subsection{History of electronic mail}
11 %FIXME: shorter!!!
12 %TODO: have a quote from Bell Labs about email here
13
14 Electronic mail\index{electronic mail} (short: \name{email})\citeweb{wikipedia:email} is a basic concept in \unix.\citeweb{unix-mail-intro} On \unix\ machines, a lot of information is distributed by \name{system mail}, which is email sent by the operating system. Beside that, email is the common communication system between humans working on computers.
15
16 The \unix\ operating system supports email through the \name{mail user agent} (short: \NAME{MUA}) \name{/bin/mail}.
17
18 Development of \unix\ was not only made in the \name{Bell Labratories} of \NAME{AT\&T}. The \name{Univerity of California at Berkeley} worked on their version of a \unix\ operating system, too. It is refered to as \NAME{UCB} \unix, or \name{Berkeley} \unix\index{Berkeley Unix}.
19
20 The few features of \name{/bin/mail} lead to a second \NAME{MUA} from Berkeley: \name{Mail} (with a capital `M'). Later, the superior functionality of \name{Mail} went back to \name{Bell Labs} and into the program \name{mailx}, the successor of \name{/bin/mail}.
21
22 Nowadays, \name{mailx} and \name{Mail} are quite equivalent and \name{/bin/mail} is linked to either of them---whichever is installed.
23
24 At that time, computers were connected by various kinds of networks. \name{Bell Labs} had invented the \NAME{UUCP} program and protocol suite (for ``\unix\ to \unix\ copy'')\citeweb{wikipedia:uucp}. Berkeley however had an own creation called \name{Berknet} in use. And the \name{United States Department of Defence Advanded Research Projects Agency}'s (\NAME{ARPA}) effort on designing a new wide area network, led to the \NAME{ARPANET}\citeweb{wikipedia:arpanet}, based on the \name{transmission control protocol} (\NAME{TCP}). There were also other, minor, kinds of networks in use.
25
26 Email was transfered between different machines within the same networks. The file transfer itself was made uniformly using \NAME{FTP}, but the higher layered logic of the transfer was different. For example was addressing done different: \NAME{UUCP} used a flat-style schema, while \NAME{ARPANET}'s was hierachical.
27
28 Mail transport from one machine connected to one kind of network to a second machine connected to another was a problem. This showed up at Berkeley where some departments of the university had switched to \NAME{ARPANET}, and some to \NAME{UUCP}, while the rest used \name{Berknet}.
29
30 It was around 1982, when Eric Allman, then a student at Berkeley, wrote \name{delivermail}. Its purpose was to transform email from one network to another. \name{delivermail}, like its successor---the more flexible \sendmail---intermediated between the different networks. They were able to transform email messages from any network to any other.
31
32 Todays email structure is basicly the same as then. The major difference is the uniformity of the underlying network, which is nearly always the \NAME{ARPANET}-based \name{Internet}. Hence lowering the importance of the transformation capabilities of \MTA{}s, that was essential to \sendmail's success---yet being the primary motivation for the program.
33
34 More information about the history of electronic mail can be found at: \citeweb{email:griffiths}, \citeweb{email:crocker}, \citeweb{email:vleck}, \citeweb{email:akkad}, \citeweb{email:murakami}, and \citeweb{email:tomlinson}. A good starting point for general information on internet history is \citeweb{wikipedia:historyoftheinternet}.
35 %TODO: check the websites which ones are the important ones; remove unnessesary ones
36
37
38
39 \subsection{Definition of \MTA}
40 %FIXME: better title; work text over!
41 %TODO: when was the term ``mail transfer agent'' established?
42
43 This thesis is about a \name{mail transfer agent} (or \index{mail transport agent|see{mail transfer agent}}\name{mail transport agent}, short \NAME{MTA}): \masqmail. \sendmail\ is one too---the most important one.
44
45 The basic job of a \mta\ is to transfer/transport electronic mail from one host to another.
46
47 Here are definitions from others:
48
49 \begin{quote}
50 A mail transfer agent (MTA) is a highly specialized program that delivers mail and transports it between machines, like the post office.
51 \cite{costales97}
52 \end{quote}
53
54 \begin{quote}
55 A mail transfer agent (MTA) (also called a mail transport agent, message transfer agent, or smtpd (short for SMTP daemon)), is a computer program or software agent that transfers electronic mail messages from one computer to another.
56 \citeweb{wikipedia:mta}
57 \end{quote}
58
59 \begin{quote}
60 mail server (also known as a mail transfer agent or MTA, a mail transport agent, a mail router or an Internet mailer) is an application that receives incoming e-mail from local users (people within the same domain) and remote senders and forwards outgoing e-mail for delivery.
61 \citeweb{website:techtarget}
62 \end{quote}
63
64 \begin{quote}
65 Message Transfer Agent - (MTA, Mail Transfer Agent): Any program responsible for delivering e-mail messages. Upon receiving a message from a Mail User Agent or another MTA, [...] it [...] delivers it to any local addressees and/or forwards it to other remote MTAs (routing) for delivery to remote recipients.
66 %Any program responsible for delivering e-mail messages. Upon receiving a message from a Mail User Agent or another MTA, often by SMTP over the Internet, it stores it temporarily locally and analyses the recipients and delivers it to any local addressees and/or forwards it to other remote MTAs (routing) for delivery to remote recipients. In either case it may edit and/or add to the message headers.
67 %
68 %The most widely used MTA for Unix is sendmail, which communicates using SMTP.
69 %
70 %RFC 2821 (SMTP) expands MTA as ``Mail Transfer Agent'' though this is less common. Alternatives with ``Transport'' are also seen but less correct.
71 \citeweb{website:thefreedictionary}
72 \end{quote}
73
74 Common is the transfer of mail to other machines; this is the actual job. \MTA{}s work with mail, received from local users and/or remote machines. Mail delivery however is \emph{not} what \mta{}s are for, although probably every \MTA\ is able to deliver mail, and many do. \name{mail delivery agents} (short: \NAME{MDA}) are the programs for this job. Two of the best known \NAME{MDA}s are \name{procmail} and \name{maildrop}.
75
76
77
78 \subsection{\name{sendmail-compatibility}}
79 \label{sec:sendmail}
80 %FIXME: rewrite!
81
82 Allman wrote it to transfer emails between different networks, thus giving \sendmail\ mighty address rewriting abilities. In contrast to its predecessor \name{delivermail}, was \sendmail\ designed to offer greatest flexiblity in configuration; this enabled it to deal with any type of network.
83
84 \sendmail\ was, and still is, very successful. So successful that it stands, like no other, for the whole group of \MTA{}s: \name{sendmail} actually is the \emph{de facto standard} for \mta{}s.
85
86 Its author, Allman, sees three reasons for the huge success: the ``sloopy'' approach (accepting badly formed messages); its focus on the routing function; and the flexible configuration (this was important in \sendmail's early days).
87 \cite[page xviii]{costales97}
88
89 Others see \sendmail's success more critical. One of them is quoted in the \name{MMDF} FAQs \citeweb{faqs:mmdf}:
90 \begin{quote}
91 Sendmail was once compared by one old Internet hand to ``those killer bees that escaped from the laboratory---and now they're everywhere and you can't get rid of 'em''.
92 \end{quote}
93 He definately hints here at \sendmail's many security vulnerabilities that came to light and on its complexity, in particular its obscure configuration file \path{sendmail.cf}.
94
95 No matter how \sendmail\ is seen, one must admit its influence on \unix\ emailing programs. Most existing substitutes mimic \sendmail's interface and behavior. Most notable, they create a symbolic link named ``sendmail'' pointing to their own executable. The reason herefor are the many programs assuming an executable called ``sendmail'' on every computer system existing.
96
97 \sendmail\ is not only ported to many platforms, even including \name{Microsoft Windows}, but also it is still the prefered \MTA\ on many systems.
98
99 For deeper knowledge on \sendmail's history, see \cite{costales97} and \cite{vixie01}.
100
101 7
102 8
103 9
104 \section{The \masqmail\ project} 10 \section{The \masqmail\ project}
105 %FIXME: explain why masqmail is old and why it is interesting/important however! 11
12 << about masqmail (some history) >>
13
14 (include history of email, definition of MTA and sendmail-compatibility in text)
15
16
106 17
107 \subsubsection{Target field} 18 \subsubsection{Target field}
108 Its original author, Oliver Kurth, sees \masqmail\ so: 19 Its original author, Oliver Kurth, sees \masqmail\ so:
109 \begin{quote} 20 \begin{quote}
110 MasqMail is a mail server designed for hosts that do not have a permanent internet connection eg. a home network or a single host at home. It has special support for connections to different ISPs. It replaces sendmail or other MTAs such as qmail or exim. 21 MasqMail is a mail server designed for hosts that do not have a permanent internet connection eg. a home network or a single host at home. It has special support for connections to different ISPs. It replaces sendmail or other MTAs such as qmail or exim.
141 52
142 As main advantage, \masqmail\ makes it easy to set up an \MTA\ on workstations or notebooks without the need to do complex configuration or to be an mail server expert. 53 As main advantage, \masqmail\ makes it easy to set up an \MTA\ on workstations or notebooks without the need to do complex configuration or to be an mail server expert.
143 54
144 Workstations use %FIXME 55 Workstations use %FIXME
145 56
146 57 \textbf{Alternatives?}
147 \subsubsection{Alternatives?}
148 % http://anfi.homeunix.org/sendmail/dialup10.html 58 % http://anfi.homeunix.org/sendmail/dialup10.html
149 59
150 60
151 61
62 << explain why masqmail is old and why it is interesting/important however! >> %FIXME
63
64
65
152 \section{Problems to solve} 66 \section{Problems to solve}
153 %FIXME: what problems has masqmail?
154 %FIXME: what's the intention of this document?
155 %FIXME: why is it worth the effort?
156 67
68 << what problems has masqmail? >> %FIXME
69
70 << what's the intention of this document? >> %FIXME
71
72 << why is it worth the effort? >> %FIXME
73
74
75
76
77 \section{How to read the book}
78
79 \subsubsection*{Conventions used}
80 %TODO: check if this tells what is really used!
81 %FIXME: make it complete!
82 %FIXME: remove everything not needed. Maybe write only a few sentences text.
83 The following typographic conventions are used in this book:
84
85 \begin{tabular}{ p{0.15\textwidth} p{0.8\textwidth} }
86 \emph{Italic} &
87 is used for names, including command names, file name, hostnames, usernames and email addresses.
88 Further more it is used to emphasize text.
89 \\ &\\
90
91 \texttt{Constant Width} &
92 is used for source code, contents of files and output from programs.
93 \\ &\\
94
95 \texttt{\$} &
96 indicates the the user shell prompt.
97 \\ &\\
98
99 \texttt{\#} &
100 indicates the the root shell prompt.
101 \\
102 \end{tabular}
103
104
105
106
107 \section{Further reading}
108
109 << specify the really important external documents here >> %FIXME
110
111 << write about the bundled CD, and tell what's included >> %FIXME
112
113 \NAME{RFC}s, other books, source code, websites
114
115