Notes on email
Email is basically a file, with a specific header format, that is transferred to the spool or mailbox of the recipient. There are two major parts of an email system. One part is an application program that is executed by a user to format email and display received email. This program handles all of the user interface issues. Once the mail formatter has a message to send, it is passed to the message transfer agent. This daemon runs in the background and handles the transfer of email files between systems.
Email addresses are in the format: userid@computer
The @computer can specify a host.domain or it can be an email system name. Domain Name Servers keep lists of both host names and email system names. A client can request the IP address to receive mail directed to an email system name. That is why email at A&T is firstname.lastname@example.org
The IETF RFC 822 (and others) specifies the email standard. It defines a set of envelope / header information. Like most data communication formats, email files have a header in the beginning. The headers are in ASCII with keywords at the beginning of a line to identify the fields. A blank line separates the headers from the data. Common fields in the header are:
The RFC822 standard does not specify the format for the data. Any format is allowed. Traditionally ASCII text was used.
Multipurpose Internet Mail Extension (MIME) is a standard to send arbitrary formatted data.
Content-Transfer-Encoding: 7bit(7 bit ASCII)
Content-Transfer-Encoding: quoted-printable (Same as 7bit ASCII where special characters are equal sign and two hex digits.)
Content-Transfer-Encoding: base64-encoding (only upper & lower case letters and punctuation used.)
Content-Type: text/plain; charset=US-ASCII
A new version, S/MIME, can now be used to send secure email.
Simple Mail Transfer Protocol (SMTP) uses TCP to transport mail. It listens on well-known port 25. SMTP does not delete the mail from the senders system until it is stored on disk at the receiving site. The email is stored in /spool/username and can be retrieved by reading the spool file or popmail.
An example SMTP session is show below:
220 ncatmail.ncat.edu ESMTP Sendmail 2.1.1/8.9.1/Execmail 2.1; Thu, 22 Apr 1999 17:54:33 -0400 (EDT)
250 ncatmail.ncat.edu Hello williams.comp.ncat.edu [18.104.22.168], pleased to meet you
mail from: <email@example.com>
250 <firstname.lastname@example.org>... Sender ok
250 <email@example.com>... Recipient ok
354 Enter mail, end with "." on a line by itself
This is an example of SMTP.
250 RAA13983 Message accepted for delivery
221 ncatmail.ncat.edu closing connection
When you send email to someone:
If you send mail to multiple users or send Carbon Copies, only one copy will be sent to each mail server of the users. If the different users use different mail servers, a copy will be sent to each mail server. If bcc is used, a separate copy is sent to those users.
List-servers are servers that receive a single email message and then copy it to many users on a list. The list-server software also provides the ability to manage the list of recipients.