UNIX System Administration Handbook - Evi Nemeth [323]
The final Received line (line 3) shows “for The machine columbine, which was running sendmail V8.9.3, delivered the message (which had queue ID HAA21741 locally) to Evi’s mailbox. 7: Message-Id: <199910011404.GAA18984@knecht.sendmail.org Line 7 contains the message ID, which is different from a queue ID and is unique within the world-wide mail system. It is added to the message when it’s initially submitted to the mail system. 8: X-Mailer: exmh version 2.0.2 2/24/98 9: To: Evi Nemeth 10: From: Eric Allman 11: Cc: eric@sendmail.com 12: Subject: Re: hi 13: Date: Fri, 1 Oct 1999 06:04:02 -800 Line 8 identifies Eric’s mail user agent as exmh. In fact, exmh itself added this line to the header. Notice that it begins with an X, making it an unofficial header. When mail was first specified, it was not envisioned that there would be more than one user agent, so no standard header was included. Lines 9–13 are standard. Although a Subject header is not required, most user agents include it. The To line contains the address of the primary recipient or recipients. The Date line shows the date and time at which the message was sent. In this case, the send time matches the dates in the Received lines pretty closely, even though each was measured with a different clock. The Received lines are usually added by the transport agent (unless they are forged), and the other headers are added by the user agent. Some user agents are lame and do not add proper headers; in this case, sendmail steps in to add the missing headers. The first Received line that is added (usually on the sending machine, when the mail is transferred to the outgoing interface) sometimes includes an “ident” clause that gives the sender’s login name. It should be the same as the name on the From line, but it won’t be if the From line is forged. In our example, Eric’s machine knecht was not running the daemon that implements this feature (identd), so there is no clause that lists the sender’s login name. Exhibit B illustrates this message’s journey through the mail system. It shows what actions were taken, where they happened, and what programs performed them. Exhibit B A message from Eric As you can see, sendmail is the workhorse in this process. It handles the message from the time it leaves exmh in Berkeley until it arrives on columbine for delivery. See Spam examples on page 604 for more practice reading headers. 19.3 MAIL PHILOSOPHY • Servers for incoming and outgoing mail; or for really large sites, a hierarchy • A mail home for each user at a physical site • IMAP or POP5 to integrate PCs, Macs, and remote clients We discuss each of these key issues below and then give a few examples. Other subsystems must cooperate with the design of your mail system as well: DNS MX records must be set correctly, Internet firewalls must let mail in and out, the message store machine(s) must be identified, and so on. See page 443 for more information about MX records. Mail servers have three functions: • To
The mail philosophy we outline in this chapter is almost mandatory for keeping the administration of medium and large sites manageable. However, it is also appropriate for small sites. The main concepts that lead to easy administration are: