several accounts, but want to receive the bulk of mail only on the one you use most frequently. This field is optional.
Organization:
The organization that owns the machine from which the mail originates. If your machine is owned by you privately, either leave this out, or insert 'private' or some complete nonsense. This field is not described by any RFC and is completely optional. Some mail programs support it directly, many don't.
Message-ID:
A string generated by the mail transport on the originating system. It uniquely identifies this message.
Received:
Every site that processes your mail (including the machines of sender and recipient) inserts such a field into the header, giving its site name, a message ID, time and date it received the message, which site it is from, and which transport software was used. These lines allow you to trace which route the message took, and you can complain to the person responsible if something went wrong.
X-
No mail-related programs should complain about any header that starts with X-. It is used to implement additional features that have not yet made it into an RFC, or never will. For example, there was once a very large Linux mailing list server that allowed you to specify which channel you wanted the mail to go to by adding the string X-Mn-Key: followed by the channel name.
How Is Mail Delivered?
Generally, you will compose mail using a mailer interface like mail or mailx, or more sophisticated ones like mutt, tkrat, or pine. These programs are called
Local delivery of mail is, of course, more than just appending the incoming message to the recipient's mailbox. Usually, the local MTA understands aliasing (setting up local recipient addresses pointing to other addresses) and forwarding (redirecting a user's mail to some other destination). Also, messages that cannot be delivered must usually be
For remote delivery, the transport software used depends on the nature of the link. Mail delivered over a network using TCP/IP commonly uses
Mail is usually not delivered directly in UUCP networks, but rather is forwarded to the destination host by a number of intermediate systems. To send a message over a UUCP link, the sending MTA usually executes rmail on the forwarding system using uux, and feeds it the message on standard input.
Since uux is invoked for each message separately, it may produce a considerable workload on a major mail hub, as well as clutter the UUCP spool queues with hundreds of small files taking up a disproportionate amount of disk space.[108] Some MTAs therefore allow you to collect several messages for a remote system in a single batch file. The batch file contains the SMTP commands that the local host would normally issue if a direct SMTP connection were used. This is called BSMTP, or
Email Addresses
Email addresses are made up of at least two parts. One part is the name of a
How email addresses are interpreted depends greatly on what type of network you use. We'll concentrate on how TCP/IP and UUCP networks interpret email addresses.
RFC-822
Internet sites adhere to the RFC-822 standard, which requires the familiar notation of [email protected], for which host.domain is the host's fully qualified domain name. The character separating the two is properly called a 'commercial at' sign, but it helps if you read it as 'at.' This notation does not specify a route to the destination host. Routing of the mail message is left to the mechanisms we'll describe shortly.
You will see a lot of RFC-822 if you run an Internet connected site. Its use extends not only to mail, but has also spilled over into other services, such as news. We discuss how RFC-822 is used for news in Chapter 20, Netnews.
Obsolete Mail Formats
In the original UUCP environment, the prevalent form was path!host!user, for which path described a sequence of hosts the message had to travel through before reaching the destination host. This construct is called the
Other networks have still different means of addressing. DECnet-based networks, for example, use two colons as an address separator, yielding an address of host::user.[109] The X.400 standard uses an entirely different scheme, describing a recipient by a set of attribute-value pairs, like country and organization.
Lastly, on FidoNet, each user is identified by a code like
Mixing Different Mail Formats
