The source for the sendmail program comes with two documents by Eric Allman that are required reading. Sendmail - An Internetwork Mail Router provides an overview of sendmail, including its underlying theory. Sendmail Installation and Operations Guide provides installation instructions and a succinct description of the configuration file. Many vendors also provide online manuals which may reveal vendor-specific customizations not documented in this book. Also, if you have the source, see the files RELEASE_NOTES, src/READ_ME, and cf/README.
A complete understanding of sendmail is not possible without at least some exposure to Request for Comments (RFC) issued by the Internet Engineering Task Force (IETF) at the Network Information Center (NIC). These numbered documents define (among other things) the protocols and operational requirements of the Internet. RFCs are available via anonymous FTP. See the Bibliography for information about how to retrieve individual RFCs.
The division of mail messages into a header and a body, as well as the syntax and order of header lines are all defined in RFC822, titled Standard for the Format of ARPA Internet Text Messages. It also describes the syntax of addresses.
RFC1521 introduces and describes the standards for Multipurpose Internet Mail Extensions (MIME). MIME provides ways to embed non-text data (such as images, sounds, and movies) inside ordinary email messages.
RFC1651 describes a general extension mechanism for SMTP, called ESMTP. RFC1652 describes an extension for transport of 8-bit data, called the 8BITMIME extension. RFC1653 describes an extension for message size declaration (see Section 34.8.22, EightBitMode (8)).
RFC1891, SMTP Service Extension for Delivery Status Notifications
(DSN), describes the ESMTP RCPT command's NOTIFY, RET,
and ORCPT extensions. It also describes the ESMTP MAIL
command's ENVID extension.
RFC1892, The Multipart/Report Content Type for the Reporting of
Mail System Administrative Messages, describes the
header requirements for DSN. It also describes the order and
requirements for multipart/report MIME parts of a mail status
report's mail message.
RFC1893, Enhanced Mail System Status Codes,
describes the meaning of the DSN status number
RFC1894, An Extensible Message Format for Delivery Status Notifications,
describes the machine readable part's header-style keywords, for the
machine readable part of the DSN return message described in RFC1892.
Two topics that are only touched upon in this book are The Domain Name System (DNS) and TCP/IP network communications. At a typical site, a significant number of problems with mail turn out to be problems with one of these other areas, rather than with sendmail.
Finally, many mail problems can only be solved by the system administrator. The sendmail program runs as root and can only be installed and managed by root. The art of functioning effectively as root is superbly covered in the UNIX System Administration Handbook by Evi Nemeth, Garth Snyder, Scott Seebass, and Trent R. Hein (Prentice Hall, 2nd edition 1995).