How Does Email Work

How Does Email Work In Plain English So That A 5th Grader Can Understand It

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?

  1. So with Email, when you write an email to [email protected] 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.
  2. 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.
  3. 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.
  4. 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

(organized with respect to “So What Happens With Email?” above)
  1. 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
  2. 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)
  3. 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
  4. 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
  5. 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.