sendmailby Bryan Costales, Claus Assmann, George Jansen, Gregory Neil Shapiro
A classic O'Reilly title since 1993, sendmail now covers Versions 8.10 through 8.14 of this email routing program, including dozens of new features, options, and macros. This edition also takes a more nuts-and-bolts approach than its predecessors. It includes both an administration handbook and a reference guide that provide you with clear options for/b>
A classic O'Reilly title since 1993, sendmail now covers Versions 8.10 through 8.14 of this email routing program, including dozens of new features, options, and macros. This edition also takes a more nuts-and-bolts approach than its predecessors. It includes both an administration handbook and a reference guide that provide you with clear options for installing, configuring and managing sendmail's latest versions and companion programs.
The sendmail program has withstood the test of time because of its ability to solve the mail-routing needs of all sites large or small, complex or simple. But it's also difficult to configure and even more difficult to understand. That's why this book has proven valuable since the dawn of email. With it, you will be able to configure the program to meet any need, so that you never again have to call in a sendmail guru to bail you out.
sendmail includes the following sections:
- Some Basics is especially useful for people new to the program. It covers the basic concepts underlying mail delivery and the roles sendmail plays in that delivery
- Administration covers all aspects of handling sendmail, from downloading and installing new releases to managing mailing lists and aliases
- Configuration Reference contains a heavily cross-referenced guide for configuring and tuning sendmail. Every arcane detail of sendmail is listed alphabetically
- Appendices contain more detail about sendmail than you may ever need
This edition also includes new material on SSL and AUTH and a new chapter on Mitlers. If you're interested in what has changed since the last edition, one appendix categorizes the many improvements of sendmail's intervening versions by chapter, complete with references to the appropriate sections and page numbers in the book.
With sendmail, system administrators, programmers, network engineers, and even inexperienced users will be able to match this challenging but necessary utility to the needs of their network.
- O'Reilly Media, Incorporated
- Publication date:
- Edition description:
- Fourth Edition
- Product dimensions:
- 7.00(w) x 9.20(h) x 2.22(d)
Read an Excerpt
Chapter 1: IntroductionImagine yourself with pen and paper, writing a letter to a friend far away. You finish the letter and sign it, reflect on what you've written, then tuck the letter into an envelope. You put your friend's address on the front, your return address in the left-hand corner, and a stamp in the right-hand corner, and the letter is ready for mailing. Electronic mail (email for short) is prepared in much the same way, but a computer is used instead of pen and paper.
The post office transports real letters in real envelopes, whereas sendmail transports electronic letters in electronic envelopes. If your friend (the recipient) is in the same neighborhood (on the same machine), only a single post office (sendmail running locally) is involved. If your friend is distant, the mail message will be forwarded from the local post office (sendmail running locally) to a distant one (sendmail running remotely) for delivery. Although sendmail is similar to a post office in many ways, it is superior in others:
- Delivery typically takes seconds rather than days.
- Address changes (forwarding) take effect immediately, and mail can be forwarded anywhere in the world.
- Host addresses are looked up dynamically. Therefore, machines can be moved or renamed, and email delivery will still succeed.
- Mail can be delivered through programs that access other networks (such as UUCP and BITNET).
This would be like the post office using United Parcel Service to deliver an overnight letter.
This analogy between a post office and sendmail will break down as we explore sendmail in more detail. But the analogy serves a role in this introductory material, so we will continue to use it to illuminate a few of sendmail's more obscure points.
1.1 MUA Versus MTAA mail user agent (MUA) is any of the many programs that users run to read, reply to, compose, and dispose of email. Examples of an MUA include the original UNIX mail program (/bin/mail); the Berkeley Mail program; its System V equivalent (mailx); free software programs such as mush, elm, and mh; and commercial programs such as Zmail. Many MUAs may exist on a single machine. MUAs sometimes perform limited mail transport, but this is usually a very complex task for which they are not suited. We won't be covering MUAs in this book.
A mail transfer agent (MTA) is a highly specialized program that delivers mail and transports it between machines, like the post office. Usually, there is only one MTA on a machine. The sendmail program is an MTA. Others include MMDF, Smail 3.x, and Zmailer, but we'll cover only sendmail in this book.
1.2 Why Is sendmail So Complex?In its simplest role, that of transporting mail from a user on one machine to another user on the same machine, sendmail is almost trivial. All vendors supply a sendmail (and configuration file) that will accomplish this. But as your needs increase, the job of sendmail becomes progressively more complicated, and its configuration file becomes more complex. On hosts that are connected to the Internet, for example, sendmail should use the Domain Name System (DNS) to translate hostnames into network addresses. Machines with UUCP connections, on the other hand, need to have sendmail run the uux program.
The sendmail program needs to transport mail between a wide variety of machines. Consequently, its configuration file is designed to be very flexible. This concept allows a single binary to be distributed to many machines, where the configuration file can be customized to suit particular needs. This configurability contributes to making sendmail complex.
Consider, for example, when mail needs to be delivered to a particular user. The sendmail program decides on the appropriate delivery method based on its configuration file. One such decision process might include the following steps:
- If the recipient receives mail on the same machine as the sender, deliver the mail using the /bin/mail program.
- If the recipient's machine is connected to the sending machine using UUCP, use uux to send the mail message.
- If the recipient's machine is on the Internet, the sending machine transports the mail over the Internet.
- Otherwise, the mail message may need to be transported over another network (such as BITNET) or possibly rejected.
1.3 Three Important PartsThe sendmail program is actually composed of several parts, including programs, files, directories, and the services it provides. Its foundation is a configuration file that defines the location and behavior of these other parts and contains rules for rewriting addresses. A queue directory holds mail until it can be delivered. An aliases file allows alternative names for users and creation of mailing lists.
1.3.1 The Configuration FileThe configuration file contains all the information sendmail needs to do its job. Within it you provide information, such as file locations, permissions, and modes of operation.
Rewriting rules and rule sets also appear in the configuration file. They transform a mail address into another form that may be required for delivery. They are perhaps the single most confusing aspect of the configuration file. Because the configuration file is designed to be fast for sendmail to read and parse, rules can look cryptic to humans:
R$+@$+ $:$1<@$2> focus on domain
R$+<$+@$+> $1$2<@$3> move gaze right
But what appears to be complex is really just succinct. The R at the beginning of each line, for example, labels a rewrite rule. And the $+ expressions mean to match one or more parts of an address. With experience, such expressions (and indeed the configuration file as a whole) soon become meaningful.
1.3.2 The QueueNot all mail messages can be delivered immediately. When delivery is delayed, sendmail must be able to save it for later transmission. The sendmail queue is a directory that holds mail until it can be delivered. A mail message may be queued:
- When the destination machine is unreachable or down. The mail message will be delivered when the destination machine returns to service.
- When a mail message has many recipients. Some mail messages may be successfully delivered, and others may not. Those that fail are queued for later delivery.
- When a mail message is expensive. Expensive mail (such as mail sent over a long-distance phone line) can be queued for delivery when rates are lower.
- When safety is of concern. The sendmail program can be configured to queue all mail messages, thus minimizing the risk of loss should the machine crash.
1.3.3 Aliases and Mailing ListsAliases allow mail that is sent to one address to be redirected to another address. They also allow mail to be appended to files or piped through programs, and they form the basis of mailing lists. The heart of aliasing is the aliases(5) file (often stored in database format for swifter lookups). Aliasing is also available to the individual user via a file called .forward in the user's home directory....
Meet the Author
Bryan Costales lives and writes in San Francisco, California. He has been active in system administration and software development for more than 20 years and has been writing articles and books about computer software for more than 25 years. His most notable books are "C from A to Z" (Prentice Hall), "Unix Communications" (Howard Sams), and "sendmail" (O'Reilly). In addition to technical books, he also writes fiction and hosts a free multimedia web site.
Claus Assmann is a member of the Sendmail Consortium and works for Sendmail, Inc. He is the maintainer of sendmail 8 and currently implements a new MTA (message transfer agent) named MeTA1. His main interests in computertechnology are security and performance. He studied computer science at the University of Kiel in Germany, where he received his Ph.D. in 1992.
George Jansen is a freelance writer who has worked with Bryan Costales on several of Bryan's books. His first novel, The Jesse James Scrapbook, is published by Hilliard & Harris. His second, The Fade-away, is published by Pocol Press. Helives in the Bay Area, drives a brand new Toyota Yaris, and enjoys baseball, classic jazz, and taking long naps.
Gregory Shapiro began his professional career as a systems administrator for Worcester Polytechnic Institute (WPI) after graduating from the university in 1992. During his tenure as Senior Unix Systems Administrator, he became involved with beta testing the BIND name server, the sendmail mailtransfer agent, and other Unix utilities such as emacs and screen. His involvement with sendmail grew until he became Principal Engineer at Sendmail, Inc., where he continued tosupport the open source version while working on Sendmail's commercial products. He later moved into the IT team as the Senior Unix Network Systems Administrator. He is now Director, Strategic Technology at Sendmail, Inc. He is also aFreeBSD committer and has served as program committee member for BSDCon 2002 and program chair for BSDCon 2003. Greg lives in California and enjoys reading science fiction and fantasy books, traveling, and seeing moviesand theater productions.
and post it to your social network
Most Helpful Customer Reviews
See all customer reviews >