How Does Email Work In Plain English So That A 5th Grader Can Understand
It
(if you actually care that is)
You probably think that this postage free means of communication we have called
email is really simple and all you need is a computer, smartphone,
laptop, tablet, or some other magical device for you to be able to send your favorite
cookie recipe to your friend Sally who asked for it 2 weeks ago. Well, it's not
that simple, in fact you'd be surprised just how many things happen between the
time when you click send to when Sally receives your message. Rather than dazzle
you with complex technical terms and fancy diagrams we'll take a different approach
and explain it to you as if we are explaining it to a 5th Grader. In case you are
feeling adventurous with the few abbreviations and technical terms that we had to
include in this explanation, they come with links to the Wikipedia articles that give a much more complex explanation
as to what they are. This may be the first explanation of How Email Works that you
actually understand. If you are already a genius and know everything then a) we
don't mean to insult your intelligence, and 2) why are you reading this?
Email Works Just Like An Old Fashioned Post Office
The framework behind how email works is really not too far from the same framework
as the traditional post office system. With the post office, every mailbox in the
world has an address. Furthermore, every address belongs to some sort of postal
code (in the USA we call it a ZIP code). Generally for every postal code there is
a "Post Office" responsible for ultimately bringing the mail to its local constituents
when someone gives them mail for one of their constituents.
With Email, You Have An Address Too! That's Why We Call It An Email Address
(duh)
So back to the post office and the real world, let's say you want to send someone
an old-timey letter with the post office. You would write your letter, put your
letter in an envelope, fill out the envelope with the recipient's address, affix
postage and then either drop it in your nearest mail pick-up box or just take it
direct to the post office yourself. At this point it is out of your hands and up
to the post office to somehow magically get this letter to the recipient, wherever
in the world the recipient may be.
In the virtual world of Email there are also post offices. They are called Mail
Servers (or the technical term Mail Transfer Agents).
This Mail Server is actually just a computer. There are lots of different types of mail servers, and for the purposes of this explanation
they all work pretty much the same, however to be specific this explanation is based
on the type called SMTP Servers which is likely the type that 99% of email
users out there are using. In short, a Mail Server is like a Virtual Post Office.
Now To Get To The Nitty-Gritty
So when the old-timey post office receives your old-timey letter to deliver to someone
the first thing they do (aside from making sure you paid postage) is to look at
the postal code of the recipient. They do this because your local post office is
probably not going to be the one to deliver your message to the recipient, unless
of course the recipient's address is within a postal code that your local post office
services. Likely the recipient is in some other jurisdiction, so the post office
will open a big book (ok maybe they use a computer now) and look up exactly which
post office in the world does service the recipient's postal code and then your
post office will send the letter to that post office in the correct jurisdiction.
You see the post office knows where all the other post offices are, but doesn't
know where all the people are on the planet. Each separate post office is responsible
for a different group of people (thus again postal codes). Once your letter reaches
the post office responsible for the recipient's postal code they give your letter
to a driver who physically takes the letter to the recipient’s mailbox, because
the responsible post office isn't that far from the recipient's mailbox and the
driver knows exactly where the mailbox is because it is on his/her route.
So What Happens With Email?
- So with Email, when you write an email to sally@cookielovers.com and click
send, the first thing that happens is your computer (or Google's computer for example
if you are using Gmail, or Yahoo's computer if you are using Yahoo Mail, or Microsoft's
computer if you are using Hotmail) needs to look up exactly which Mail Server in
the world is responsible for delivering email to people @cookielovers.com. Unfortunately
this is not quite as simple as when the old-timey post office just flips open a
book and looks it up. This look up is called a DNS Query, and requires accessing at least 1 but usually
several DNS Servers,
that's right more computers are getting involved in your simple email with a cookie
recipe.
- Moving on, every computer that is connected to the internet has a DNS Server
responsible for stuff just like this and other stuff as well. Generally speaking
this DNS Server is part of the service that your ISP (Internet-Service-Provider) is providing you with. But
wait folks, it's still not that simple! Just like the post office, the sending computer's
local DNS Server can't actually tell what Mail Server is responsible for people
@cookielovers.com (unless of course it happens to be the very same DNS Server, just
like local mail delivery with the post office) however what the sending computer's
local DNS Server can do is tell which other DNS Server in the world is responsible
for knowing which Mail Server is responsible or authoritative for people @cookielovers.com. So what will
happen is the sending computer's DNS Server will refer the sending computer to a
different DNS Server that will actually know which Mail Server is responsible for
sending mail to people @cookielovers.com. To make matters a little more complicated
it is possible that your local DNS Server will actually have a list of more than
1 (usually 2) DNS Servers that are considered responsible for sending mail to people
@cookielovers.com. The reason for this is just in case there is a problem contacting
one of the Responsible DNS Servers then the sender’s computer may attempt to contact
an alternate in hopes that it will be working properly at the moment.
- Once the sending computer finds out from its local neighborhood DNS Server
which DNS Server it should actually be talking to in order to lookup which Mail
Server it should talk to regarding the message you are trying to send, then the
sending computer goes ahead and asks the appropriate DNS Server, which Mail Server
is responsible for handling email for people @cookielovers.com. The answer that
the sending computer is looking for is called the MX Record. Assuming everything has worked correctly up until
this point the responsible DNS server for people @cookielivers.com has responded
to the sender's computer with the MX Record and now the sending computer knows exactly
which Mail Server (or virtual post office) is ultimately responsible for getting
your message to the recipient. Yet again, to make matters a little more complicated,
it is possible that the responsible DNS Server for people @cookielovers.com may
have more than 1 MX Record on file, in which case it will give the sending computer
a list of MX Records which can be used. Each MX Record represents a different Mail
Server that the sending computer can attempt to give its message to. The reason
for this is just in case there is a problem with one Mail Server then the sending
computer is able to try another one which is also supposed to be able to deliver
the sender’s mail to the recipient @cookielovers.com.
- From this point on things are fairly simple. Now the sending computer knows
exactly what other computer (the recipient's responsible Mail Server) to hand your
message to, and once your message is handed off to the recipient's responsible Mail
Server then the recipient’s Mail Server's job is to find the recipient's email box
and put the message in there so later when the recipient checks their email they
will see what you sent them.
That's It! Sorry if that wasn't simple enough, if so try somewhere else. Pretty
amazing huh? All of this happens in often times less than a second and it involves
multiple computers (often at least 6, and could be as many as 10 or more)! It's
also free, well aside from the fact you are paying for internet access and so is
the recipient and all the computers that are contacted along the way, and some of
them paid for domain
names like cookielovers.com also, and let's not forget all of you had to
buy computers to begin with. The problem of course with all of this is look at how
many places a problem could be encountered along the way which could cause your
email to fail and not be received by the recipient.
So Let's Examine Some Of The Common Things That Could Go Wrong With This Along The
Way
- Composing and clicking send
- Your internet is down (from the ISP)
- The internet is not down but your computer is not working on the internet (which
could be for a whole host of reasons)
- Your computer is working fine on the internet but your email settings in your computer
are incorrect
- Finding the authoritative/responsible DNS Server for the recipient
- Your computer's DNS settings are incorrect
- The DNS Server(s) your computer is trying to contact is down
- The internet is down or experiencing problems at the facility where the DNS Server(s)
your computer is contacting is located
- The DNS Server that your computer contacts replies with incorrect information (which
could be for a few reasons)
- Getting the MX Record from the authoritative/responsible DNS Server for the recipient
- Whomever controls the recipient's Domain Name settings may have set them incorrectly
or failed to update them to reflect recent changes
- The authoritative/responsible DNS Server(s) your computer is trying to contact is
down
- The internet is down or experiencing problems at the facility where the authoritative/responsible
DNS Server(s) your computer is contacting is located
- The authoritative/responsible DNS Server that your computer contacts replies with
incorrect information (which could be for a few reasons)
- Whomever is responsible for the authoritative/responsible DNS Server(s)'s records
failed to specify an MX Record
- Whomever is responsible for the authoritative/responsible DNS Server(s)'s records
failed to speciy an accurate MX Record
- Actual transmitting of your email message to the responsible Mail Server(s) identified
by the MX Record
- The MX Record is invalid or out of date
- The recipient's responsible Mail Server(s) is down
- The internet is down or experiencing problems at the facility where the recipient's
mail server is located
- The Mail Server may accept your message however due to internal problems never deliver
it to your recipient
- The Mail Server may reply that the recipient's mailbox is full
- The Mail Server may reply that the recipient doesn't actually have a mailbox there
- The Mail Server may have
spam blocking or anti-virus policies in place which may wrongly identify your
message as spam or a virus
- Your email address or the computer sending mail on your behalf may be wrongly listed
on an email blacklist of known spammers which the recipient's Mail Server refers
to before accepting a message
- And the final step is of course the recipient checking their email box to get your
message, however of course if the recipient is having computer or internet problems
this could also be an issue.