
meillo@34: \chapter{\masqmail}
meillo@27: 
meillo@27: %TODO: have text by oliver here?
meillo@27: 
meillo@27: 
meillo@26: \section{Target field}
meillo@74: Its original author, Oliver Kurth, sees \masqmail\ so:
meillo@74: \begin{quotation}
meillo@74: 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.
meillo@74: \end{quotation}
meillo@74: 
meillo@74: \masqmail\ is inteded to cover a specific niche: non-permanent internet connection and different \NAME{ISP}s.
meillo@74: 
meillo@74: Although it can basically replace other \MTA{}s, it is not generally aimed to do so. The package description of \debian\citeweb{packages.debian:masqmail} states this more clearly by changing the last sentence to:
meillo@74: \begin{quotation}
meillo@74: In these cases, MasqMail is a slim replacement for full-blown MTAs such as sendmail, exim, qmail or postfix.
meillo@74: \end{quotation}
meillo@74: \masqmail\ is a good replacement ``in these cases'', but not generally, since is lacks features essential for running on mail servers. It is primarily not secure enough for being accessable from untrusted locations. %Nevertheless has \masqmail\ this field of action, where it is better suited for than other \MTA{}s.
meillo@74: 
meillo@74: The program is best used in home networks, which are non-permanently connected to the internet. \masqmail\ sends mail to local destinations, like users on the same machine and on other machines in the local net, immediately. Email to recipients outside the local net are queued when offline and sent when a online connection gets established.
meillo@74: 
meillo@74: Further more does \masqmail\ respect online connections through different \NAME{ISP}s; a common thing for dial-up connections. In particular can different sender addresses be set, dependent on the \NAME{ISP} that is used. This prevents mail to be likely classified as spam.
meillo@74: 
meillo@27: 
meillo@27: 
meillo@26: \section{Typical usage}
meillo@74: This section describes situations that make senseful use of \masqmail.
meillo@74: 
meillo@74: A home network consisting of some workstations without a server. The network is connected to the internet by dial-up or broadband. Going online is initiated by computers inside the local net. \NAME{IP} addresses change at least once every day.
meillo@74: 
meillo@74: Every workstation would be equiped with \masqmail. Mail transfer within the same machine or within the local net works straight forward. Outgoing mail to the internet is sent, to the concerning \NAME{ISP} for relaying, whenever the router goes online. Receiving of mail from outside needs to be done by a mail fetch program, like the \masqmail\ internal \NAME{POP3} client or \name{fetchmail} for example. The configuration for \masqmail\ would be the same on every computer, except the hostname.
meillo@74: 
meillo@74: For the same network but having a server, one could have \masqmail\ running on the server and using simple forwarders (see \ref{subsec:relay-only}) to the server on the workstations. This setup does only support mail transfer to the server, but not back to a workstation; also sending mail to another user on the same workstation is not possible.
meillo@74: 
meillo@74: A better setup is to run \masqmail\ on every machine %FIXME
meillo@74: 
meillo@74: %How it works
meillo@74: %
meillo@74: %When offline, MasqMail queues all mail with a destination outside of the local network. When you connect to the internet, masqmail will be called with a connection name as an argument. MasqMail then sends the queued mail to the configured mailserver for that ISP. When a message from the local net is received when online, MasqMail delivers it immediately. If there is no mail server for that ISP, MasqMail can also send the mails directly to their destinations.
meillo@74: %
meillo@74: %For each ISP different return addresses can be configured. This makes it possible to get around spam traps which desire your return address to be from the same domain as the host the mail is coming from. This is not a problem if you always connect to a single ISP, but is one if you use different ones from time to time. It also makes it possible to configure your mailer to a return address on your local network which maybe totally unknown outside. So delivery failure messages originating on your local net can be sent directly to you, while those that occur outside will be sent to the configured address. (Note that the return path is different from the From: address or the Reply-to: address. You can still have a single address where you want replys to be sent to).
meillo@74: %
meillo@74: %When offline, MasqMail behaves just like any other ordinary mail server (with a few limitations, but these will be fixed in the future).
meillo@74: %
meillo@74: %To detect its online status, MasqMail can take advantage of the masqdialer system. But it also works well without it.
meillo@74: 
meillo@27: 
meillo@27: 
meillo@26: \section{What makes it special}
meillo@27: 
meillo@74: 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.
meillo@74: 
meillo@74: Workstations use
meillo@27: 
meillo@26: \section{Alternatives?}
meillo@58: % http://anfi.homeunix.org/sendmail/dialup10.html
meillo@27: 
meillo@26: \section{Structure}
meillo@27: 
meillo@27: 
meillo@26: \section{Features}
meillo@74: \begin{itemize}
meillo@74: 	\item Delivers only when online to a destination 'outside' your LAN
meillo@74: 	\item Support for multiple Providers (ie. Mail Servers, or direct delivery)
meillo@74: 	\item Rewriting of Return addresses (Return-Path:, From:, Reply-To:), configurable for each Provider separately
meillo@74: 	\item can also be used as a Mail Server on a LAN
meillo@74: 	\item alias support
meillo@74: 	\item delivery to pipes
meillo@74: 	\item delivery to MDAs (eg. procmail)
meillo@74: 	\item Maildir support (version >= 0.2.5)
meillo@74: 	\item routing depending on sender
meillo@74: 	\item AUTH (RFC 2554) support (as client, since version 0.1.0)
meillo@74: 	\item SMTP-after-POP
meillo@74: 	\item POP3 client
meillo@74: 	\item POP3 client daemon (fetch mail in regular intervals if online)
meillo@74: \begin{itemize}
meillo@27: 
meillo@27: 
meillo@26: \section{History}
meillo@27: %TODO: let oliver prove read it!
meillo@27: %FIXME: add references
meillo@26: 
meillo@47: The date of the first release (version 0.0.1) is unknown.
meillo@47: The only information available is, that it was packaged for \debian\ at 15\nth\ of September in 1999.
meillo@47: Further releases were made every few weeks or month during 2000, 2001 and 2002.
meillo@47: Development ended in mid-2003 in a hard stop.
meillo@62: The last ordinary release known to me is version 0.2.20, released on 4\nth\ of June in 2003.
meillo@27: 
meillo@47: During the time of development, Oliver released 53 versions.
meillo@47: That means a new release in less than every 20 days in average!
meillo@27: 
meillo@27: Mentionable are the four \emph{beta} releases of version 0.1.8 (named with the trailing letters `a' to `d') in winter 2000/2001 and the security-fix 0.1.15.1 in 2002.
meillo@27: 
meillo@47: One extra release (version 0.2.21) was made by him in November 2005.
meillo@47: This one is only available from the \debian\ pool.
meillo@47: Comparing it to version 0.2.20 shows, that no source code was altered.
meillo@47: Only building documents (like Makefiles) and \debian\ packageing documents were changed.
meillo@47: That leeds to the assumption that this last release was specificly created for the needs of \debian---to fix some errors in the package.
meillo@27: 
meillo@47: In May 2000 the minor version number increased to `1'.
meillo@47: Nothing special is mentioned in the documentation about that.
meillo@47: When it increased again to start the 0.2.x releases, Oliver titled them as the ``development branch'' of \masqmail.
meillo@47: At that second time, he started developing the 0.2.x ``development branch'', continuing to work on the 0.1.x series.
meillo@47: His parallel work on both branches lasted for four month, and one additional last release, numbered 0.1.17, one more year later.
meillo@27: 




