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.