# HG changeset patch # User meillo@marmaro.de # Date 1233410803 -3600 # Node ID 664716b256e1a2b0d14c45a7a06279f4a56cf741 # Parent 63fb9fba6c77edd371ad738b95a9f44d1b3a7ef5 applied changes that were suggested by schaeffter diff -r 63fb9fba6c77 -r 664716b256e1 thesis/bib/thesis.bib --- a/thesis/bib/thesis.bib Sat Jan 31 10:50:02 2009 +0100 +++ b/thesis/bib/thesis.bib Sat Jan 31 15:06:43 2009 +0100 @@ -478,3 +478,20 @@ Doug McIlroy The Bell System Technical Journal. Bell Laboratories. M. D. McIlroy, E. N. Pinson, and B. A. Tague. ``Unix Time-Sharing System Forward''. 1978. 57 (6, part 2). p. 1902. +@misc{fsf:gpl, + author = "Free Software Foundation, The", + title = "\emph{The GNU General Public License}", + year = "2007", + note = "Available on the Internet: {\small\url{http://gnu.org/licenses/gpl.html} (2009-01-31)}", +} + +@misc{fsf:freesw-definition, + author = "Free Software Foundation, The", + title = "\emph{The Free Software Definition}", + year = "last updated in December 2008", + note = "Available on the Internet: {\small\url{http://gnu.org/philosophy/free-sw.html} (2009-01-31)}", +} + + + + diff -r 63fb9fba6c77 -r 664716b256e1 thesis/tex/0-preface.tex --- a/thesis/tex/0-preface.tex Sat Jan 31 10:50:02 2009 +0100 +++ b/thesis/tex/0-preface.tex Sat Jan 31 15:06:43 2009 +0100 @@ -2,7 +2,7 @@ \chapter*{Preface} \addcontentsline{toc}{section}{Preface} -This thesis is about \masqmail, a small mail transfer agent for workstations and home networks. In October 2007 I chose \masqmail\ for my machines because it is a small though ``real'' mail transfer agent. \masqmail\ served me well since then and I found no reasons to change. +This thesis is about \masqmail, a small mail transfer agent for workstations and home networks. In October 2007 I had chosen \masqmail\ for my machines because of its small size though it was a ``real'' mail transfer agent. \masqmail\ served me well since then and I have found no reasons to change. Unfortunately, the \masqmail\ package in \debian, which is my preferred \NAME{GNU}/Linux distribution, is unmaintained since the beginning of 2008. Unmaintained packages are likely to get dropped out of a distribution if critical bugs appear in them. Although \masqmail\ had no critical bugs, this was a situation I definitely wanted to prevent. @@ -10,17 +10,17 @@ \quad -The overall goal of this document is to revive \masqmail\ in usage and development. \masqmail\ was not developed in the last five years although the world of email changed during this time. Hence quite some work needed to be done. +The overall goal of this document is to revive \masqmail\ in usage and development. \masqmail\ was not developed further in the last five years although the world of email has changed during this time. Hence quite some work needed to be done. -I chose to start down at the basis and analyze the environment and \masqmail\ throughout to end in concrete plans of what should be done and how it should be done to turn \masqmail\ into a modern mail transfer agent again. +I decided to start at the basis and analyze the environment and \masqmail\ throughout to end up in concrete plans of what should be done and how it should be done to turn \masqmail\ into a modern mail transfer agent again. -The actual implementation of the the proposed changes goes beyond this thesis. Here are solutions identified, described, discussed, and recommended but not implemented. I did work in the code and have fixed bugs during the time I wrote on the thesis, though. +The actual implementation of the the proposed changes will follow-up this thesis. Here solutions are identified, described, discussed, and recommended but not implemented. I have been working in the code and have fixed bugs during the time I worked on the thesis, though. \quad -This document is primary written with an audience of \masqmail\ developers and developers of other mail transfer agents in mind. But users of \masqmail\ and everyone who is interested in email systems in general may find this thesis an interesting literature. +This document is primary written with an audience of \masqmail\ developers and developers of other mail transfer agents in mind. But users of \masqmail\ and everyone who is interested in email systems in general may find this thesis an interesting literature too. -However, at least basic knowledge about \unix\ and C programming is preconditioned in chapter three, four, and five. \person{Kernighan} and \person{Pike}'s ``The \NAME{UNIX} Programming Environment'' \cite{kernighan84} is a valuable source to gain information about \unix. Programming in the C language is best learned from \person{Kernighan} and \person{Ritchie}'s ``The C Programming Language'' \cite{k&r}. +However, at least basic knowledge about \unix\ and C programming is a prerequisite for chapters three, four, and five. \person{Kernighan} and \person{Pike}'s ``The \NAME{UNIX} Programming Environment'' \cite{kernighan84} is a valuable source to gain information about \unix. Programming in the C language is best learned from \person{Kernighan} and \person{Ritchie}'s ``The C Programming Language'' \cite{k&r}. @@ -31,17 +31,17 @@ \section*{Organization} -Six chapters structure this document. Each one covers a delimited part of the overall topic and builds upon the knowledge and results of the previous ones. The first three chapters lead into the topic and create a solid base where the second part builds upon. Chapter four and five are the central part of the thesis as they focus on \masqmail. +The document consists of six chapters, each covering a delimited part of the overall topic and building upon the content and results of previous chapters. The first three chapters lead into the topic and create a solid base where the second part builds upon. The chapters four and five form the central part of the thesis as they focus on \masqmail. -Chapter 1 \textbf{introduces} \masqmail\ to the reader. It presents the properties, goals, advantages, and problems of the program. Basic concepts of the email technology are also described and later assumed to be know. +Chapter 1 \textbf{introduces} \masqmail\ to the reader. It presents the properties, goals, advantages, and problems of the program. Basic concepts of the email technology are also described and later assumed to be known. -Chapter 2 \textbf{analyzes the market} of electronic communication and email. This chapter shows that email will remain an important technology in the future which is a precondition for investing effort into it. It tries to identify future trends too. +Chapter 2 \textbf{analyzes the market} of electronic communication and email. This chapter gives sound reasons for the sense of future development of \masqmail\ by showing that email will remain an important technology in the future. It tries to identify future trends too. -Chapter 3 \textbf{deals with mail transfer agents} (\MTA{}s) which are the most important entities of the email transport structure. \MTA{}s are defined, classified, and important ones are presented and compared. +Chapter 3 \textbf{deals with mail transfer agents} (\MTA{}s) which are the most important entities of the email transport structure. \MTA{}s are defined, classified, and the most important ones are presented and compared. Chapter 4 \textbf{focuses on \masqmail's present and future}. It is the core of the thesis. Requirements are identified and lead to a list of pending work tasks. Then possible strategies for future development are discussed. -Chapter 5 \textbf{describes improvement plans}, which are based on decisions in chapter four, in more detail. A proposed architecture for a redesigned \masqmail\ is presented too. +Chapter 5 \textbf{describes improvement plans} which are based on decisions in chapter four, in more detail. A proposed architecture for a redesigned \masqmail\ is presented, too. Chapter 6 \textbf{summarizes} the most important results and closes the thesis. @@ -65,11 +65,11 @@ References to external resources are marked using one of three styles, distinguished by the type of resource. \begin{enumerate} -\item References to books, articles, and similar documents looks like this: \cite{kernighan84}. The letters represent the author(s) (here \person{Kernighan} and \person{Pike}), the number represents the year of publication (here 1984). +\item References to books, articles, and similar documents look like this: \cite{kernighan84}. The letters represent the author(s) (here \person{Kernighan} and \person{Pike}), while the number represents the year of publication (here 1984). -\item Websites differ from documents as they are less of a text written by some author but more a place where information is gathered. They are only indicated by numbers, like for example: \citeweb{masqmail:homepage}. +\item Websites are different from documents as they are less some text written by some author but more a place where information is gathered. Website may also change from time to time, thus the date of access is given to indicate the version to which was referred. References to websites have such appearance: \citeweb{masqmail:homepage}. -\item \name{Request for Comments}---the documents that define the Internet---are referenced in a third way, by specifying the unique number of the \RFC\ directly: \RFC\,821. +\item \name{Request for Comments} are those documents that define the Internet. They are referenced directly by their unique number. For instance: \RFC\,821. \end{enumerate} The Bibliography is located at the end of the thesis. It also includes a list of the relevant \RFC{}s and how they can be retrieved. diff -r 63fb9fba6c77 -r 664716b256e1 thesis/tex/1-Introduction.tex --- a/thesis/tex/1-Introduction.tex Sat Jan 31 10:50:02 2009 +0100 +++ b/thesis/tex/1-Introduction.tex Sat Jan 31 15:06:43 2009 +0100 @@ -1,7 +1,7 @@ \chapter{Introduction} \label{chap:introduction} -This chapter first introduces some basic email concepts that are essential for understanding the rest of the thesis. Then \masqmail---the program of interest---is presented. History, typical usage, and the function it provides are described. After an explanation of \masqmail's worth, its problems are pointed out. These problems which are to solve are the topics that are covered throughout this thesis. +This chapter introduces some basic email concepts that are essential for understanding the remainder of the thesis. Then \masqmail---the program of interest---is presented. History, typical usage, and the function it provides are described. After an explanation of \masqmail's relevance, its weaknesses are pointed out. Solving these weaknesses is the topics that is covered throughout this thesis. @@ -11,19 +11,19 @@ Electronic mail is a service on the Internet and thus, like other Internet services, defined and standardized by \RFC{}s under management of the \name{Internet Engineering Task Force} (short: \NAME{IETF}). \RFC{}s are highly technical documents and it is not required that the readers of this thesis are familiar with them. -This section gives an introduction into the basic internals of the email system in a low-technical language. It is intended to make the reader familiar with the essential concepts of email. They are assumed to be known in the rest of the thesis. +This section gives an introduction into the basic internals of the email system in a low-technical language. It is intended to make the reader familiar with the essential concepts of email as they are essential throughout the thesis. \subsubsection{Mail agents} -This thesis will frequently use the three terms: \MTA, \NAME{MUA}, and \NAME{MDA}. They name the three different kinds of software that are the nodes of the email infrastructure. Here they are explained with references to the ``snail mail'' system which is known from everyday life. Figure \ref{fig:mail-agents} shows the relation between those three mail agents and the way an email message takes trough the system. +This thesis will frequently use the three terms: \MTA, \NAME{MUA}, and \NAME{MDA}, naming the three different kinds of nodes of the email infrastructure. Here, they are explained with references to the ``snail mail'' system which is known from everyday life. Figure \ref{fig:mail-agents} shows the relation between those three mail agents and the way an email message takes when passing through the system. \begin{description} \item[\MTA:] -\name{Mail Transfer Agents} are the post offices for electronic mail. The basic job of an \MTA\ is to transport mail from senders to recipients, or more pedantic: from \MTA\ to \MTA. \sendmail, \exim, \qmail, \postfix, and of course \masqmail\ are \MTA{}s. \MTA{}s are explained in more detail in chapter \ref{chap:mail-transfer-agents}. +\name{Mail Transfer Agents} are the post offices for electronic mail. The basic job of an \MTA\ is to transport mail from senders to recipients, or more pedantic: from \MTA\ to \MTA. \sendmail, \exim, \qmail, \postfix, and, of course, \masqmail\ are \MTA{}s. \MTA{}s are explained in more detail in chapter \ref{chap:mail-transfer-agents}. \item[\NAME{MUA}:] -\name{Mail User Agents} are the software the user deals with. He writes and reads email with it. The \NAME{MUA} passes outgoing mail to the nearest \MTA. Also the \NAME{MUA} displays the contents of the user's mailbox. Well known \NAME{MUA}s are \name{Mozilla Thunderbird} and \name{mutt} on \unix\ systems, and \name{Microsoft Outlook} on \name{Windows}. +\name{Mail User Agents} are the software users deal with. A user writes and reads email with it. The \NAME{MUA} passes outgoing mail to the nearest \MTA. Also the \NAME{MUA} displays the contents of the user's mailbox. Well known \NAME{MUA}s are \name{Mozilla Thunderbird} and \name{mutt} on \unix\ systems, and \name{Microsoft Outlook} on \name{Windows}. \item[\NAME{MDA}:] \name{Mail Delivery Agents} correspond to postmen in the real world. They receive mail, destined to recipients they are responsible for, from an \MTA, and deliver it to the mailboxes of those recipients. Many \MTA{}s include an own \NAME{MDA}, but independent ones exist: \name{procmail} and \name{maildrop} are examples. @@ -82,15 +82,15 @@ \section{The \masqmail\ project} \label{sec:masqmail} -The \masqmail\ project was started by \person{Oliver Kurth} in 1999. His aim was to create a small \MTA\ that is especially focused on computers with dial-up Internet connections. Throughout the next four years he worked steadily on it, releasing new versions every few weeks. In total it were 53 releases which is in average a new version every 20 days. +The \masqmail\ project was initiated by \person{Oliver Kurth} in 1999. His aim was to create a small \MTA\ that is especially focused on computers with dial-up Internet connections. Throughout the next four years he worked steadily on it, releasing new versions every few weeks. During the active phase of development 53 version have been released. In average, this is a new version every 20 days. -This thesis bases on the latest release of \masqmail---version 0.2.21 from November 2005. It was released after a 28 month gap. The source code of 0.2.21 is the same as of 0.2.20, only build documents were modified. The release tarball can be retrieved from the \debian\ package pool\footnote{The \NAME{URL} is: \url{http://ftp.de.debian.org/debian/pool/main/m/masqmail/masqmail_0.2.21.orig.tar.gz}\,.} \citeweb{packages.debian}. It seems as if this version was only put into public there because \masqmail's homepage \citeweb{masqmail:homepage2} does not include it. +This thesis is based on the latest release of \masqmail---version 0.2.21, dated November 2005. It was released after a 28 month gap of inactivity. The source code of 0.2.21 is the same as of 0.2.20, with only build documents modified. The homepage of \masqmail\ \citeweb{masqmail:homepage2} does not include this latest release, but it can be retrieved from the \debian\ package pool\footnote{The \NAME{URL} is:\\\url{http://ftp.de.debian.org/debian/pool/main/m/masqmail/masqmail_0.2.21.orig.tar.gz}} \citeweb{packages.debian}. -\masqmail\ is covered by the \name{General Public License} (short: \NAME{GPL}) which qualifies it as \freesw. +\masqmail\ is covered by the \name{General Public License} (short: \NAME{GPL}) \cite{fsf:gpl} which qualifies it as Free Software \cite{fsf:freesw-definition}. -\person{Kurth} abandoned \masqmail\ after 2005 and no one adopted the project since then. Thus, the author of this thesis decided to take responsibility for \masqmail\ now. He received \person{Kurth}'s permission to do so. +\person{Kurth} abandoned \masqmail\ after 2005 and no one adopted the project since then. Thus, the author of this thesis decided to take over responsibility for \masqmail\ now. He received \person{Kurth}'s permission to do so in private telephone conversation with \person{Kurth} on September 4, 2008. -The program's new homepage \citeweb{masqmail:homepage} is a collection of available information about this \MTA. +The program's new homepage \citeweb{masqmail:homepage} includes a collection of available information about this \MTA. @@ -98,7 +98,7 @@ \subsection{Target field} \label{sec:masqmail-target-field} -The intention \person{Kurth} had when creating \masqmail\ is best told in his own words: +\person{Kurth}'s intention when creating \masqmail\ is best told in his own words: \begin{quote} 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 \NAME{ISP}s. It replaces sendmail or other \MTA{}s such as qmail or exim. \hfill\citeweb{masqmail:homepage2} @@ -116,7 +116,7 @@ While many other \MTA{}s are general purpose \MTA{}s, \masqmail\ aims on special situations. Nevertheless, it can be used as general purpose \MTA, too. Especially this was a design goal of \masqmail: To be a replacement for \sendmail, or similar well known \MTA{}s. -\masqmail\ is designed to run on workstations and on servers in small networks, like home networks. +\masqmail\ is designed to run on workstations and on servers in small networks, like they are common in \NAME{SOHO}s (\name{Small Offices/Home Offices}). @@ -230,20 +230,20 @@ Mail queuing is essential for \masqmail\ and thus supported of course, alias expansion is also supported. -The \masqmail\ executable can be called under various names for sendmail-compatibility reasons. As many programs expect the \MTA\ to be located at \path{/usr/lib/sendmail} or \path{/usr/sbin/sendmail}, symbolic links are pointing from there to the \masqmail\ executable. Further more does \sendmail\ supports calling it with a different name instead of supplying command line arguments. The best known of these shortcuts is \path{mailq} which is equivalent to calling it with the argument \verb+-bq+. \masqmail\ recognizes the shortcuts \path{mailq}, \path{smtpd}, \path{mailrm}, \path{runq}, \path{rmail}, and \path{in.smtpd}. The first two are inspired by \sendmail. Not implemented is the shortcut \path{newaliases} because \masqmail\ does not generate binary representations of the alias file.\footnote{A shell script named \path{newaliases} that invokes \texttt{masqmail -bi} can provide the command to satisfy software that depends on a \path{newaliases} program.} \path{hoststat} and \path{purgestat} are missing for complete sendmail-compatibility. +The \masqmail\ executable can be called by various names for sendmail-compatibility reasons. As many programs expect the \MTA\ to be located at \path{/usr/lib/sendmail} or \path{/usr/sbin/sendmail}, symbolic links are pointing from there to the \masqmail\ executable. Further more does \sendmail\ supports calling it with a different name instead of supplying command line arguments. The best known of these shortcuts is \path{mailq} which is equivalent to calling it with the argument \verb+-bq+. \masqmail\ recognizes the shortcuts \path{mailq}, \path{smtpd}, \path{mailrm}, \path{runq}, \path{rmail}, and \path{in.smtpd}. The first two are inspired by \sendmail. Not implemented yet is the shortcut \path{newaliases} because \masqmail\ does not generate binary representations of the alias file.\footnote{A shell script named \path{newaliases} that invokes \texttt{masqmail -bi} can provide the command to satisfy strict requirements.} \path{hoststat} and \path{purgestat} are missing for complete sendmail-compatibility. %masqmail: mailq, mailrm, runq, rmail, smtpd/in.smtpd %sendmail: hoststat, mailq, newaliases, purgestat, smtpd -Additional to the \mta\ job, \masqmail\ also offers mail retrieval services by being a \NAME{POP3} client. It can fetch mail from different remote locations dependent on the active online connection. Such functionality is especially useful in a setup like \name{Scenario 2} on page \pageref{scenario2}. +Additional to the \mta\ job, \masqmail\ also offers mail retrieval services by acting as a \NAME{POP3} client. It can fetch mail from different remote locations, also dependent on the active online connection. Such functionality is especially useful in a setup like \name{Scenario 2} on page \pageref{scenario2}. -\subsubsection*{Online detection and routes} +\subsubsection*{Online detection and online routes} \label{sec:masqmail-routes} \masqmail\ focuses on handling different non-permanent online connections, thus a concept of online routes is used. One may configure any number of routes to send mail. Each route can have criteria to determine if some message is allowed to be sent over it. Mail to destinations outside the local network gets queued until a suitable online connections is available. -The idea behind this concept is sending mail to the Internet through the mail server of the same \NAME{ISP} over which one had dialed in. It was quite common that \NAME{ISP}s accepted mail for relay only if it came from as online connection they managed. This means, one was not able to relay mail through the mail server of one \NAME{ISP} while being online through the connection of another \NAME{ISP}. \masqmail\ is a solution to the wish of switching the relaying mail server easily. +The idea behind this concept is sending mail to the Internet through the mail server of the same \NAME{ISP} over which one had dialed in. It was quite common that \NAME{ISP}s accepted mail for relay only if it came from a online connection they managed. This means, it was not possible to relay mail through the mail server of one \NAME{ISP} while being online through the connection of another \NAME{ISP}. \masqmail\ is a solution to the wish of switching the relaying mail server easily. Related is \masqmail's ability to rewrite the sender's email address dependent on which \NAME{ISP} is used. This prevents mail from being likely classified as spam. @@ -267,7 +267,7 @@ -\section{Why \masqmail\ is worthy} +\section{Why \masqmail\ is worth it} First of all, \masqmail\ is better suited for its target field of operation (multiple non-permanent online connections) than every other \MTA. Especially is such usage easy to set up because \masqmail\ was designed for that. Many alternative \MTA{}s were not designed for those scenarios at all as the following two example show: ``Exim is designed for use on a network where most messages can be delivered at the first attempt.'' \cite[page~30]{hazel01}. ``qmail was designed for well-connected hosts: those with high-speed, always-on network connectivity.'' \cite[page9]{sill02}. @@ -289,7 +289,7 @@ \hfill\citeweb[post~\#8]{ubuntuforums:simple-mailer} \end{quote} -Not to forget is \masqmail's size. It is much smaller than full-blown \MTA{}s like \sendmail, \postfix, or \exim, and still smaller than \qmail. (See section \ref{sec:mta-comparison} for details.) This makes \masqmail\ a good choice for workstations or even embedded computers. +Not to forget \masqmail's size. \masqmail\ is much smaller than full-blown \MTA{}s like \sendmail, \postfix, or \exim, and still smaller than \qmail. (See section \ref{sec:mta-comparison} for details.) This makes \masqmail\ a good choice for workstations or even embedded computers. Again words of a user who chose \masqmail\ as \MTA\ on his old laptop with a 75 megahertz processor and eight megabytes of \NAME{RAM}: \begin{quote} @@ -299,7 +299,7 @@ -Although the development on \masqmail\ stopped in 2003 it still has its users. Having users is already reason enough for further development and maintenance. This applies especially when the software covers a niche and when requirements for such software in general changed. Both is the case for \masqmail. +Although the development on \masqmail\ has been stopped in 2003, \masqmail\ still has its users. Having users is already reason enough for further development and maintenance. This applies especially when the software covers a niche and when requirements for such software in general changed. Both is the case for \masqmail. It is difficult to get numbers about users of Free Software because no one needs to tell anyone when he uses some software. \debian's \name{popcon} statistics \citeweb{popcon.debian} are a try to provided numbers. For January 2009, the statistics report 60 \masqmail\ installations of which 49 are in active use. If it is assumed that one third of all \debian\ users report their installed software\footnote{One third is a high guess as it means there would be only about 230 thousand \debian\ installations in total. But according to the \name{Linux Counter} \citeweb{counter.li.org} between 490 thousand and 12 million \debian\ users can be estimated.}, there would be in total around 150 active \masqmail\ installations in \debian. \name{Ubuntu} which also does \name{popcon} statistics \citeweb{popcon.ubuntu}, counts 82 installations with 13 active ones. If here also one third of all systems submit their data, 40 active installations can be added. Including a guessed amount of additional 30 installations on other \unix\ operating systems makes about 220 \masqmail\ installations in total. Of course one person may have \masqmail\ installed on more than one computer, but a total of 150 different users seems to be realistic. @@ -320,7 +320,7 @@ \section{Problems to solve} -A program that was neglected for nearly six years in a field of operation that changed during this time surely needs improvement. Security and spam have highly increased in importance since 2003. Dial-up connections became rare, instead broadband flat rates are common now. Other \MTA{}s evolved in respect to theses changes---\masqmail\ did not. +A program that is neglected for more than five years in a field of operation that changed during this time surely needs improvement. Security and spam have highly increased in importance since 2003. Dial-up connections became rare, instead broadband flat rates are common now. Other \MTA{}s evolved in respect to theses changes---\masqmail\ did not. The current market situation and trends for the future need to be identified. Looks at other \MTA{}s need to be taken. Required work on \masqmail\ needs to be defined in combination with the evaluation of strategies to do this work. And a plan for further development should be created. diff -r 63fb9fba6c77 -r 664716b256e1 thesis/tex/abstract.tex --- a/thesis/tex/abstract.tex Sat Jan 31 10:50:02 2009 +0100 +++ b/thesis/tex/abstract.tex Sat Jan 31 15:06:43 2009 +0100 @@ -3,7 +3,7 @@ \section*{\centering Abstract} -\masqmail\ is a mail transfer agent for workstations and small networks, a much smaller replacement for \sendmail. It has be orphaned by its author more than five years ago and remained unchanged since then, in a world where emailing did change. Nevertheless has \masqmail\ unique advantages that makes it still a valuable software. +\masqmail\ is a mail transfer agent for workstations and small networks, and a small replacement for \sendmail, \postfix, and \exim\ in those cases. It has be orphaned by its author more than five years ago and remained unchanged since then, in a world where emailing did change. Nevertheless has \masqmail\ unique advantages that makes it still a valuable software. This diploma thesis is a scientific planning effort to revive \masqmail. It provides a highly structured analysis of \masqmail\ and its environment. Modern requirements for \masqmail\ are compared against the current state of the program to receive a list of pending work tasks. Further development strategies are carefully compared and discussed. Finally concrete plans and recommendations are defined with the goal of turning \masqmail\ into a modern mail transfer agent again.