Home
Contents
Search
Back
Up

Basic Internet

 

Opinions
Progressions
Basic Internet



E-mail
The First Major Internet Service

Last month I started my series on basic Internet with a discussion of domain names and system numbering. The end of the discussion concerned URLs - Universal Resource Locators. This month we'll deal with the oldest of the major services of the Internet, E-mail. 

A URL to describe a mail address is written as: mailto:richard@pacdat.net  

E-mail, or electronic mail, in the context of the Internet means mail that conforms to what is called the Simple Mail Transport Protocol (SMTP). Most users don't have to deal with what goes on behind the scenes in getting a mail message from the sender to the receiver, but there are a number of steps that affect how well your use of E-mail works, so I'll give a brief description to start things off.

The E-mail Address

The Internet E-mail address is composed of 2 pieces separated by the "@" sign. The piece on the left of the @ is the account name. The piece on the right is the name of the machine on the Internet that will accept mail for the account.

In the formative years (before 1993 or so) of the Internet, virtually all systems on the Internet were multi-user systems. The users of these systems were given a unique login ID, typically 4 to 8 characters long and composed of letters and/or numbers. The E-mail system used this login ID as the part on the left of the @ in the address. The part on the right was the machine name that the user had the account on. Very few machines had more than one name, and no machines had the ability to handle 2 accounts with the same name but in different domains - even if the computer was known by 2 different names (see previous article for an example)

In some cases a company would have a main E-mail machine that would have a list of all of the users of E-mail on other machines in the same domain (sub-domains of their main domain). This machine would be responsible for mapping the outside "Alias" to the "Real" address. For example:

richard@pacdat.net    ---->    richard@mail.pacdat.net 

This means that the main domain for E-mail is pacdat.net but that there is at least one other machine that has accounts on it - mail.pacdat.net. In fact, here on my LAN there are 2 different machines that have accounts for various people: mail.pacdat.net and library.pacdat.net. 

Today, you probably have an E-mail address where the domain part is your ISP's domain. You may also have an address from some other company such as HotMail.COM or Yahoo.com, and you may even have one from the company you work for too. This abundance of addresses can cause confusion, but some hints and tips at the end of this article will help you deal with them.

Store and Forward

E-mail is not a "real time, interactive" activity. Messages are passed from machine to machine starting first with the sender's machine, and ending with the receiver's machine. The example I'm going to use is where the Sender has a desktop machine and connects to her ISP (A) by a dial-up modem connection and the Receiver has a desktop machine on her company's Local Area Network which is permanently connected to the Internet by a different ISP (B).

  1. Sender creates the message which is stored on her computer.
  2. Sender's computer dials ISP A
  3. Sender's computer connects via the Internet to ISP A's mail gateway (mail.ISP.XXX) and sends the message to it. Note that mail.ISP.XXX likely has been told to ONLY accept messages from ISP.XXX's customers - see the section on SPAM
  4. mail.ISP.XXX assigns the message a unique ID and stores it in a file to await delivery.
  5. mail.ISP.XXX looks at the delivery address and asks its Domain Name Server for the address of the Mail eXchange (MX) host for the domain part (after the @ sign)
  6. mail.ISP.XXX tries to contact ISP B's Mai Host (smtp.ISPB.XXX)
  7. Machine smtp.ISPB.XXX tells mail.ISP.XXX that it has no space left to take the message so mail.ISP.XXX puts it back in its storage and waits a few minutes before trying again.
  8. mail.ISP.XXX again tries, and this time smtp.ISPB.XXX takes the message and stores it in its incoming area.
  9. smtp.ISPB.XXX looks up in its account list and finds that Receiver@ISPB.XXX actually gets her mail from the computer POP.ISPB.XXX. It opens a connection in ISPB's local network to the machine POP.ISPB.XXX and forwards the message.
  10. POP.ISPB.XXX looks in its account list and finds that Receiver@POP.ISPB.XXX gets her mail delivered into a file called /var/spool/mail/receiver. It puts it there where it waits for Receiver to start up her desktop's mail program.
  11. Receiver starts up her Eudora mail program. It already knows her account name and password, so proceeds to talk directly via her company's LAN to the ISP's POP.ISPB.XXX mail server.
  12. Receiver has received 5 messages since the last time she checked her E-mail, and Eudora downloads each into her desktop machine. It then breaks the connection to the POP.ISPB.XXX server and opens up her INBOX window with the messages' headers showing, one per line.

The above steps can take as little as a minute or two, or as long as several days. Each of the computers that pass the message along adds a couple of lines to the message in a special place called the "header". Most E-mail programs hide these routing messages but you can probably turn on an option to show them. The headers at the top of the list are the ones that were put there last - by your ISP's computer or even by your computer.

Here is an example of a fairly complex header from one of the mail lists I subscribe to:

From acs+list.dir-nets-request@andrew.cmu.edu Tue Jul 20 14:36:29 1999
Return-Path: <acs+list.dir-nets-request@andrew.cmu.edu>
Received: from merlin.fireplug.net (merlin.fireplug.net [204.174.19.21])
by pacdat.pacdat.net (8.8.7/8.8.7) with ESMTP id OAA07081
for <richard@pacdat.pacdat.net>; Tue, 20 Jul 1999 14:36:29 -0700
Received: from po9.andrew.cmu.edu ([128.2.10.109])
by merlin.fireplug.net with esmtp (Exim 2.12 #12)
id 116hXI-0007mt-00; Tue, 20 Jul 1999 14:34:53 -0700
Received: (from postman@localhost)
by po9.andrew.cmu.edu (8.9.3/8.9.3) id RAA08396;
Tue, 20 Jul 1999 17:15:58 -0400 (EDT)
Received: via switchmail; Tue, 20 Jul 1999 17:15:58 -0400 (EDT)
Received: from po9.andrew.cmu.edu via qmail
ID </afs/andrew.cmu.edu/service/mailqs/sq1/QF.IrZC9A600Udh01PkE0>;
Tue, 20 Jul 1999 16:55:41 -0400 (EDT)
Received: from andrew.cmu.edu via qmail
ID </afs/andrew.cmu.edu/service/mailqs/sq1/QF.UrZBuA600UdZ01KFQ0>;
Tue, 20 Jul 1999 16:39:41 -0400 (EDT)
Received: from po5.andrew.cmu.edu via qmail
ID </afs/andrew.cmu.edu/service/mailqs/q005/QF.MrZBpxS00Udd1cFk40>;
Tue, 20 Jul 1999 16:35:09 -0400 (EDT)
Received: from smtpproxy1.mitre.org (mbunix.mitre.org [129.83.20.100])
by po5.andrew.cmu.edu (8.9.3/8.9.3) with ESMTP id QAA26685
for <dir-nets@andrew.cmu.edu>; Tue, 20 Jul 1999 16:35:06 -0400 (EDT)
Received: from avsrv1.mitre.org (avsrv1.mitre.org [129.83.20.58])
by smtpproxy1.mitre.org (8.9.3/8.9.3) with ESMTP id QAA22707
for <dir-nets@andrew.cmu.edu>; Tue, 20 Jul 1999 16:35:07 -0400 (EDT)
Received: from FUZZY (fuzzy.mitre.org [129.83.20.83])
by smtpsrv1.mitre.org (8.9.3/8.9.3) with ESMTP id QAA06077
for <dir-nets@andrew.cmu.edu>; Tue, 20 Jul 1999 16:34:52 -0400 (EDT)
Received: from vsb033045.mitre.org (129.83.33.45) by fuzzy.mitre.org with SMTP
+id 925551; Tue, 20 Jul 1999 16:35:00 EST
Message-Id: <4.1.19990720163256.009ac960@mail91.mitre.org>
X-Sender: xxx@mail91.mitre.org (Unverified)
X-Mailer: QUALCOMM Windows Eudora Pro Version 4.1
Date: Tue, 20 Jul 1999 16:34:57 -0400
To: dir-nets@andrew.cmu.edu
From: xxx@yyy.zzz.com (Xavier Xray)
Subject: Bowstreet DSML  

Note that the message left at 16:34:07 -0400 (EDT) and arrived in my computer at 14:36:29 -0700 (PDT) which means it traveled through 11 computers in what appears to be about 2 1/2 minutes! I say appears to be because the time stamps are based upon what each computer thinks is the real time - and unless they are all synchronized there can be (and almost always are) some discrepancies.

richard

 

 


 

Home ] Contents ] Search ]
Back ] Up ]

Copyright © 1993-2007 Richard C. Pitt - all rights reserved
Updated June 17, 2005