Electronic mail transport has been one of the most prominent uses of
networking since the first networks were devised. Email started as a
simple service that copied a file from one machine to another and
appended it to the recipient's mailbox file. The
concept remains the same, although an ever-growing net, with its
complex routing requirements and its ever increasing load of messages,
has made a more elaborate scheme necessary.
Various standards of mail exchange have been devised. Sites on the
Internet adhere to one laid out in RFC-822, augmented by some RFCs
that describe a machine-independent way of transferring just about
anything, including graphics, sound files, and
special characters sets, by email.[1]
CCITT has defined another standard, X.400. It is still used in some
large corporate and government environments, but is progressively being
retired.
Quite a number of mail transport programs have been implemented for
Unix systems. One of the best known is sendmail,
which was developed by Eric Allman at the University of California at
Berkeley. Eric Allman now offers sendmail through a
commercial venture, but the program remains free
software. sendmail is supplied as the standard mail
agent in some Linux distributions. We describe sendmail
configuration in Chapter 18.
Linux also uses Exim, written by Philip
Hazel of the University of Cambridge. We describe Exim
configuration in Chapter 19.
Compared to sendmail, Exim is rather
young. For the vast bulk of sites with email requirements, their capabilities
are pretty close.
Both Exim and sendmail support a
set of configuration files that have to be customized for your
system. Apart from the information that is required to make the mail
subsystem run (such as the local hostname), there are many parameters
that may be tuned. sendmail 's main
configuration file is very hard to understand at first. It looks as if
your cat has taken a nap on your keyboard with the shift key pressed.
Exim configuration files are more structured and
easier to understand than
sendmail 's. Exim,
however, does not provide direct support for UUCP and handles only
domain addresses. Today that isn't as big a limitation as it once might
have been; most sites stay within Exim's
limitations. However, for most sites, the work required in setting up
either of them is roughly the same.
In this chapter, we deal with what email is and what issues administrators
have to deal with.
Chapter 18 and Chapter 19 provide instructions on setting
up sendmail and Exim and for the
first time. The included information should help smaller sites
become operational, but there are several more options and you can
spend many happy hours in front of your computer configuring the
fanciest features.
Toward the end of this chapter we briefly cover setting up
elm, a very common mail user agent on many
Unix-like systems, including Linux.
For more information about issues specific to electronic mail on Linux, please
refer to the Electronic Mail HOWTO by
Guylhem Aznar,[2]
which is posted to
comp.os.linux.answers regularly.
The source distributions of elm, Exim,
and sendmail also contain extensive documentation
that should answer most questions on setting them up, and we provide
references to this documentation in their respective chapters. If you need
general information on email, a number of RFCs deal with this
topic. They are listed in the bibliography at the end of the book.