How E-MAIL Works
Last updated: 8/1/2000

We need your help!

Understanding Electronic Mail


In theory, E-Mail could easily be transmitted across the Internet from source PC to destination PC without any go-between servers. This direct route is known as peer to peer. The drawback is this would require the destination PC to be "online" at the same time the sender mails a message. To overcome this problem the [I]nternet [S]ervice [P]roviders maintain SMTP (Simplified Mail Transport Protocol) and POP3 (Post Office Protocol Version 3) e-mail servers online 24/7. Each has a specific job and will be explained below.

SENDING MAIL:

Example, you are joe@myisp.com and your mail is going to jim@hisisp.com. When you send an e-mail message from your client (your e-mail program) it delivers the message over the Internet using a TCP/IP or Transfer Control Protocol. This is all done automatically. Your stack (a group of tcp/ip software programs running on your PC) opens a Socket on port 25 to your providers SMTP server. Your providers SMTP server (lets assume smtp.myisp.com) receives your sent message. The SMTP now looks up (vi a DNS call - to a special MX Domain Name Server) the destination POP3 MX record of the destination POP3 server (lets assume pop.hisisp.com) and then attempts to relay the mail.

If the POP3 server is listening (as they normally do) the mail is received. If the server is off line for whatever reason, the sending SMTP spools (stores) the message and trys again every four hours typically for 24 hours. Generally the mail gets through within this time frame. However, two things could happen. First the POP3 mailer might be permanently off line. Second the account (or mailbox) at the destination might no longer be valid. In either of those two cases the mail is returned to you with an explanation. Of course it is possibly your providers SMTP server could be out of service too, in which case your e-mail client will report an error message on its attempt to send. More on those anomalies later.

RECEIVING MAIL:

To receive mail, your e-mail client contacts your providers POP3 (post office protocol) server (lets assume its pop.myisp.com) on port 110 vi its ordinary (non MX record) DNS address. Note: POP3 servers listen and send vi two addresses - more on this in a minute). Any messages waiting are transmitted to your e-mail client along with instructions from your e-mail client to delete the messages just successfully received from off the POP3 servers database.

If you have been paying attention, you might be wondering why your e-mail program cannot send its outgoing mail directly to the destinations POP3 server (pop.hisisp.com). The answer is because by design and International agreement, this is the job of an SMTP server. To thwart any rogue designed e-mail programs from possibly bypassing the "system", the POP3 server address (used to receive relayed mail) is on a secondary hidden address - called it MX record. However, its technically feasible to do this. And SPAMMERS are famous for it.

SPAM MAIL:

Spam by definition is the receipt of any unsolicited messages from other people or organizations. Today Spam constitutes more than half of all e-mail traffic in the world. Spam typically exploits the open architecture or weaknesses of today's electronic mail systems. In an effort to minimize Spam traffic, many ISP's have made it impossible to use their SMTP servers unless you are a recognized customer and logged onto their system. In addition, some require that your return address match their domain name. While this in fact stops some spam, it also imposes some limitations upon a legitimate user by restricting them from sending mail to their providers SMTP server from outside their providers network.

PORT BLOCKS:

Many free ISP's go so far as to block any outgoing traffic on port 25 (the typical incoming SMTP port of most mail servers). This forces the client to literaly use their e-mail servers and no others. Some independent E-Mail providers will offer receipt of sent mail on alternate ports such as 25,000 to defeat this.

RUNNING YOUR OWN E-MAIL SERVER:

Due to the nature of TCP/IP, you can do anything on your piece of the pipe that your provider can do (assuming they imposes zero restrictions - and most have no "physical" restrictions other than limits of use to be found in their TOS or Terms of Service agreement) and within the confines of the amount of available bandwidth you have. So, its entirely possible to run your own SMTP/POP3 servers; but not very practical unless you are already online 24/7. There are several shareware server packages, FtGate being one of the more popular.

UNDERSTANDING E-MAIL ATTACHMENTS:

Mail Attachments are one of the most misunderstood facets of modern electronic mail. Here is the story. The 8 bit design of the basic data unit, the Byte, allows up to 256 characters (a bit can be zero or 1 representing TWO states, and with 8 bits you get 2x2x2x2x2x2x2x2 possibilities or combinations). The alphabet consist of only 26 characters needing representation. But if you factor upper and lower case, as well as standard punctuation, then throw in some control characters to do such arcane things as carriage returns and line feeds and you wind up with 127 total necessary characters. This leaves position 7 (counting from left to right stating with zero - the 8th bit), unnecessary! Programmers being the efficient fellows they are, designed the early packet network systems around 7bit data bytes (the 8th bit was used for a parity test). (Parity is measured by summing the decimal value of the bits in a byte. If the number is even, parity is even and vice versa. So, the 7th bit is set to either 1 or 0.) This was a very crude method of insuring data integrity in the early days of networks. This is also where the 7E1, 8N1 type designations for setting up old modem terminal software come from.

So, what does this mean for modern computers and electronic mail today? Its really very simple. Modern electronic mail, being derived from and still operating on many older main frame network computers is limited to sending TEXT information only, i.e. no bytes with values 128 or above can be transmitted. Since programs, known as executable files, contain bytes covering both low and high characters from the ASCII table, this limits e-mail from being able to carry them.

UUENCODE TO THE RESCUE:

Followed by BINHEX and BASE64, sometimes known as the MIME standard. These utilities convert 8bit bytes to 7bit bytes so they can be "Attached" to e-mail as text. The miracle of modern programs is that this encoding, and decoding after its received, is all done in the background. Most all users today have adopted the MIME standard for e-mail, but UUENCODE is still very popular for passing binary files on Newsgroups or the UUNET. When attaching text files, some E-Mail clients allow the option of merging the text file data into the message body, or, sending it as a separate file.

UNDERSTANDING CC AND BCC ADDRESSING:

SENDING ANONYMOUS E-MAIL:

I am frequently asked if it is possible to send mail anonymously; that is, so it "cannot" be traced. The answer is not really. However, a method to obtain some anonymity is to use a remailer service. Oddly, the better ones are free and typically operated and sponsored by privacy advocacy groups. The best in the business is <http://www.replay.com> It works like this. You send the message to them with a specially formatted body containing the real "Send To" address etc and they receive it, strip all identifying headers and remail or relay it directly to its destination POP3 server. Its just that easy. www.replay.com can supply you with a help text file on how to do the formatting. You can also use their service to post articles to UUnet (newsgroups) via e-mail as well. Here is an example of the required formatting.

::
Anon-Post-To: newsgroup.to.post.to.here
(skip line here - this line is not part of format)
##
Subject: enter a standard subject line here
(skip line here - this line is not part of format)
Start your anonymous article here, one line down from the subject.

Please carefully note the two special delimiters; the double colon and double hash marks. If you have followed these comments carefully, it should become obvious that any e-mail client can be used to send anonymous e-mail or news postings by using the forwarding services of "replay.com" which strips all headers and does the relaying.

OTHER APPROACHES TO BECOMING SLIGHTLY ANONYMOUS:

Some users simply change their return mail address to a pseudonym. While this may work on some SMTP server, many are filtering the incoming mail and checking for valid return addresses. If the return address is not identical to that used to establish the account, the mail is bounced. The ISP's are doing this to combat SPAM. The only alternative is to setup your own SMTP server. Send your e-mail to your server and then have your server relay with no restrictions. FTGate is one of the better PC SMTP servers on the market. Although not for amateurs, it does the job. Get it at:

ELIMINATING X-HEADERS:
Using E-Mail clients that do not include X-Headers is another way to gain some anonymity. More about a few of those later below. X-Headers tell the recipient a lot about who you are. Example, "X-Mailer" will indicate the name of the e-mail program you are using and "X-Sender" will give your verbose sub domain address at the time the message was transmitted. Although this address changes with each logon, your ISP has a running log of who had that address at that hour. In other words, you can still be traced. Occasionally the mail program can be patched with a hex editor to remove the offending headers. But this is something left only to experienced hackers. For those of you less able, I suggest the following simple X-Header FREE e-mail sender. http://www.deadsys.com/sw/sm.html

POWER FEATURES TO LOOK FOR IN A GOOD E-MAIL CLIENT:

FILTERS: allow you to automate almost all processes.

ALIASES OR NICKNAMES: allow you to type "Gary" and get "arc@bigfoot.com" when you move the cursor.

MULTIPLE ACCOUNT OPERATIONS: In Eudora (my favorite) its called "Personalities" . This allows you to check e-mailboxes in many pop3 server accounts.

AUTOSAVE: Without this life can be a bear if you are typing a long epistle and suddenly lose power.

SIGNATURES AND TEMPLATES: This is a must for business mail. Most users put dorky saying in their signature file which I find a total waste of bandwidth. I use them for my PGP public key and my URL's etc. TEMPLATES OR STATIONARY: is useful for form letters and putting out a LISTSERV.

MULTI THREADING: Threading is another time saving feature that allows concurrent operations. You can type new messages, send mail from a Que and check for incoming mail all at the same time with zero interruptions. Its a must have feature.

PLUGINS: Another way to add versatility to your e-mail client is for it to accomodate Plugins. I use a plugin for PGP, Power Searching and Talking E- Mail. Oh, if you want PGP, get it Here.

IMPORT/EXPORT: A handy feature when moving to a new e-mail client. It allows you to use your old e- mail address books created by other mail clients and make backups of your existing one.

RETURN RECEIPT: This feature must be server side supported and has some drawbacks. The receipt only confirms the destination server got the mail not the true personal recipient. I see little or no value in this. Some online services like Compuserv informed you only when the recipient downloaded or read the message. But, they also charged for the service.


SOME FREE E-MAIL CLIENTS:

FoxMail at: www.aerofox.com

Pegasus Mail (for Power Users) at outpost.infospace.com

E-Mail to Snail Mail Services: NetGram and OutPost.

Great Spelling Checker that will interface with any w95 program: ForNada


E-MAIL HOUSEKEEPING HINTS

Never allow mail to accumulate in either your IN box or OUT box. Either manually move it to mailboxes or setup filters to do the move automatically.

Take advantage of the timesaving bells and whistles your e-mail program offers. Keep an up-to-date address book, and never delete names and addresses. You never know when someone will come back into your digital life.

CHAIN E-MAIL is not only tacky, it's bandwidth robbing. Don't become a participant in silly chainmail.

FLAMING, the sending an abusive or insulting e-mail, is always a mistake. Would you say it in person? If not, don't send it.

If it absolutely must be perfect, then don't e-mail it. E-mail can be the Bermuda Triangle of writing. Punctuation, spelling and grammar get mysteriously lost. If your message must be error-free, it should be sent by another medium. If you insist on sending it via e-mail, print it out and go over it line by line for errors.

-[30]-


Return to Home Page!