[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Electronic mail (often known as e-mail, or simply mail), is the exchange of messages between people using computer networks. In this manual, when we say mail, we mean electronic mail. A mail message is a message which has been or will be sent via electronic mail. Again, when we say message in this manual, we are referring to a mail message.
When a mail message is sent, it is transmitted from one computer to another until it reaches the correct one. A message can be addressed to more than one person, in which case a separate copy of the message is sent to each person. Once a message has reached the machine to which it was addressed, then it is usually stored in the incoming mailbox of the person it is addressed to.
An incoming mailbox, or mailbox is simply a file containing mail messages, with a special sequence of characters separating each message from the others. Each user of a system will normally have their own mailbox. Users can also store messages in files of their own, which are called folders. In this manual, the term folder will refer to any file which contains mail messages.
To read your mail, you will usually use a mail reader, a program which can understand the format of a folder and present the contents to you in a convenient form. Af is an example of a mail reader. Similarly, you would normally send mail by using a mail composer, a program which knows how to construct and send a mail message, and gives the user a convenient environment in which to compose and send their message. Most mail readers, including af, are also mail composers.
To allow a mail message to be sent to the correct person, it needs an envelope. To supply this, a mail message is divided up into two parts, the headers and the body. The headers supply the information required to send the message to the right people, while the body is the actual message you wanted to send.
1.1 Mail Headers What the headers look like and mean. 1.2 Mail Addresses How to interpret a mail address. 1.3 The Message Body The contents of the message body. 1.4 Signatures How to automatically sign a message.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The headers of a mail message are held at the beginning of the message, and are separated from the message body by a blank line. Here's an example of message headers:
From malc@thing.demon.co.uk Tue Jan 23 16:20:39 1996 Date: Tue, 23 Jan 1996 16:20:36 GMT Message-Id: <4780.199201201539@thing.demon.co.uk> From: Malc Arnold <malc@thing.demon.co.uk> Organization: Team Limpid Sender: The Management <root@thing.demon.co.uk> To: Kay Dekker <kay@thing.demon.co.uk>, Andrew Fry <vic@pootug.demon.co.uk> Subject: Af manual in progress MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit |
Note that apart from the first line, each header consists of a header name, followed by a colon and then the header text. The first line is not really a header at all; it is the marker that most Unix systems insert to mark the start of each new message. You can also see that unlike the envelope for a postal letter, the envelope information contained in the header can also be of interest to the recipient. There are actually several other headers contained in most mail messages, but by default af will filter them out when it displays a message for you to read (see section 5.1 Reading Messages).
Another interesting feature is the `To:' header, which has been extended over two lines by starting the second line with a tab. You can also continue headers in the same way by starting the following line with a space. Probably it's best to try to keep headers to a single line though; if a long header line needs to be folded like this, then af will normally do so for you.
Here is a brief summary of some of the headers you are likely to see in a mail message.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Mail addresses usually take the form `user@full.domain.name'. They may also be written as `Full Name <user@full.domain.name>', or `user@full.domain.name (Full Name)'. In all of these cases, the address of the user is the same; the addition of the full name is simply a convenience to allow mail readers to display the person's full name rather then their e-mail address.
Usually, the part of the address to the left of the "@" character (`user') identifies the user to which the mail is to be sent, while the part to the right (`full.domain.name') identifies the specific computer or organisation where that user can be found. Note that while mail addresses must be unique, a user name may be duplicated many times by different organisations; each with a different full domain name.
Lists of addresses (such as in a `To:' header) should be separated either by spaces or commas.
We shall not go into the intimate details of mail address syntax here; af will check any addresses you give it, and either correct minor problems or report any serious errors in an address.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Normally, the body of a mail message is just text, which is not handled in any special way. Recently, electronic mail has been extended to allow for a message body which is something other than text. These extensions are called MIME (Multipurpose Internet Mail Enhancements), and mail which makes use of them is called MIME mail.
A MIME message uses the `Content-Type:' header to define the type of data the message contains. The `Content-Transfer-Encoding:' header describes how the data was encoded in order to be sent via mail. The `Content-Disposition:' header describes how a message should be handled when read. Finally the `Content-Description:' header can be used to describe the contents of a message.
1.3.1 Body Parts Message bodies may contain body parts. 1.3.2 Content Type How the type of a message is specified. 1.3.3 Character Sets Text can be written in different character sets. 1.3.4 Transfer Encoding Encoding message bodies. 1.3.5 Content Disposition Hints for the recipient's mail reader. 1.3.6 Content Description Describing the content of a message.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A MIME message body may consist of more than one part. Each of these body parts is like a miniature MIME message in its own right, and has its own headers specifying the MIME details.
For example, a message might contain two body parts. The first is a description of the work you've been doing; the second is an image displaying the results of that work. You can see that the two parts of the message are related, but they must go into different body parts since they contain a different type of data.
Since we can think of a normal message as having one body part, when describing MIME mail it is conventional to talk about body parts rather than the message body. We will follow this convention in this manual.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
The body of a MIME mail message may be textual, or it may be an image or some other non-textual material. The type of the message body is specified by the `Content-Type:' header.
The form of a `Content-Type:' header is something like:
Content-Type: type/subtype [; parameter=value ... ] |
The main type is separated from a subtype by a slash. The content type may be further refined by parameters, which are separated from the type and subtype, and from each other, by semicolons.
The content types you are likely to see in mail messages are:
The `partial' subtype indicates that the original message has been split into a number of smaller messages, presumably to avoid limits on the size of mail messages. Af can rebuild the original message from such partial messages, if all the parts of the original message have arrived intact.
The `charset' parameter indicates the character set the text is written in. Common values are `us-ascii' for plain ASCII text, and `iso-8859-1', which is suitable for Western European languages. See section 1.3.3 Character Sets.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
One of the commonest uses of MIME (in Europe at least) is to send
mail which contains international characters (such as accents, or
Cyrillic characters) which aren't in the us-ascii
character set.
To allow these characters in a message, textual MIME messages can specify which character set they are written in with a `charset' parameter. The character set may be either `us-ascii' (the default), or one of the `iso-8859' character sets.
If your display is capable of displaying these character sets properly,
Af can be set up so that it display's such messages properly by setting
the variable viewable-charsets
(see section 21.4 Variables).
The person who installed af at your site may have already configured it to handle messages in the available character sets. In this case you don't need to do anything to make af handle internationalised messages correctly.
Sadly, none of these character sets is capable of displaying all the characters used in all the world's languages. So you may sometimes receive textual messages which you cannot read. The ISO-8859-1 character set, which is suitable for most Western European languages, is by far the most common character set used in MIME mail.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Traditionally, the body of a mail message had to contain only plain text consisting of only ASCII characters, and much of the infrastructure which supports mail is only capable of transmitting such messages. For this reason, it may have been necessary to encode the contents of the message before they were send via mail. This encoding is specified by the `Content-Transfer-Encoding:' header.
The encodings that you may encounter in a MIME body part are:
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Sometimes a body part isn't primarily intended to be read. It might be a program source file, or a configuration file. The `Content-Disposition:' header specifies whether a body part should be displayed inline when the message is read, or that it is an attachment, which requires confirmation before it is displayed.
You can also specify a file name in the `Content-Disposition:' header. Again, this is a hint to the recipient's mail reader that the body part should be stored in the named file if it is saved.
The form of a `Content-Disposition:' header is something like:
Content-Disposition: disposition [; filename=file ... ] |
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Sometimes it can be useful to the recipient to have a textual description of a body part, especially if the body part contains something other than text. The `Content-Description:' header contains just that; a free text description of the contents of a body part.
[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
It is common for people to want to include a small amount of text at the end of each message, to give information such as their telephone number, paper-mail ("snail-mail") address, other e-mail addresses. and so on.
To aid people in doing this, af supports a feature known as
signature files. These files contain text which will
automagically be included at the end of each mail message you send. By
default, af's uses the file .signature
in your home directory as
your signature file.
Some people also like to include lengthy quotations, large ASCII graphics or other amusements in signature files. This annoys many people on the net, since it costs money to transfer large signatures, and conveys no useful information. Because of this, the version of af which you use may be configured to truncate signature files that are larger than a certain size; typically 4 lines of 79 columns each. You have been warned.
[ << ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |