Posted by: Dave | February 2, 2010

It’s a Miracle We Get Email

It really is a miracle we get any email at all. Let me explain why, right after I recap the explanation you’ve probably heard for how email works.

How we tell you email works

  1. You write an email message and click “send”
  2. This email message is sent as a text file to your internet provider’s email server
  3. Your internet provider’s email server looks up the internet protocol address of the domain after @ for each address you’re sending mail to
  4. The text file that is your email message is relayed to every mail server necessary to get the email to every intended recipient
  5. The server receiving the email looks at the email address the email is sent to and sends it to each user that exists on its server
  6. Viola, it’s that easy!

Lol, no.

Let’s walk through how it actually works!

1. You are using an email or webmail program that is fully functional.
Not everyone gets past this step.

2. You type your email and click “send.”

3. You now broadcast your email username and password to the internet, where hopefully the mail server you’re connecting to is functional. Hopefully there’s no hackers on the internet since you are broadcasting your username and password without any encryption.
If the mail server is offline, no mail is sent. If the mail server is under attack from hackers, automated defenses would likely block all connections, no mail is sent. Only if you optionally use TLS and your mail server supports TLS will your message, username and password be encrypted. Otherwise, it’s out there for everyone to read. This is why your bank wont just email you a new password to get into your account, because if you’re not sending using TLS, you’re probably not receiving email using TLS either.

Oh yeah, and the average person hasn’t got a clue what TLS is. To most people, this is just the lock icon in their web browser. TLS is better known by the name of its predecessor: SSL.

4. You successfully login to the mail server and transmit the text file representing your email to the mail server.
If your mail provider thinks you’re sending too much mail, it will gladly accept your message and then either: send it a day or two from now, or delete it without bothering to deliver it. Don’t expect the mail server to let you know it’s decided your email wasn’t worthy of being delivered.

Address your message to what the mail server thinks is too many people? It will just bounce back to you!

5. The mail server attempts to turn the domains after the @ part of each address your message is being sent to into an internet protocol (IP) address, in preparation of sending your mail message to that server.
Ah, the process of taking a domain name and translating it into an IP address, what a brilliantly unverified process! If the system administrator of the destination server is incompetent and recently moved to a new mail server in the past 48 hours, well your message just got delivered successfully… to the wrong server, never to be read!

This is all assuming the one server hasn’t set up a firewall to block the other server. Then the server will keep trying unsuccessfully for 7 days, sending you several status updates about how this process has gone all kinds of FAIL.

6. The receiving server is suspicious of the server trying to send it mail.
A mail server sending mail, what a preposterous idea! This must be treated with extreme caution! Yep, that’s how it works.

So the inquisition begins. First, RBLs. Are you sending from an IP address that the internet rumor mills this server utilizes say is that of a spammer? Nope, we can proceed. If yes, drop the email message. DENIED! Oh yeah, you’ll never know about this either. Hopefully they listen to some good rumor mills, not ones that block everyone until they pay up.

DNS records. Do you have a made up DNS record that our company expects every server on the internet to have, because we said so? No? Well then you wont be reaching us here at AOL, Yahoo or Hotmail.

7. The Email Recipients Mail Filter
Hopefully the recipient isn’t running crappy spam filtering like Barracuda, otherwise they’ll never find your email regardless of how legitimate it is.

What about “smart” spam filters. If you use Google Mail and delete messages rather than archive them, well, you’ll just stop receiving those emails since Google has arbitrarily decided you don’t want those emails. Gotta love the power of Google!

8. Arrival in the inbox
Your email is then sent to the recipient’s inbox. However, if the mail server relies on the antiquated mbox format of storing mail, then this can fail due to hardware issues. Not too many folks use this really horrible format of storing mail, but it is still employed by those who don’t know any better, have other priorities or are resistant to change.

Now, hopefully your email’s subject line doesn’t trigger someone to just knee-jerk delete your email, otherwise all of this was a waste.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Categories

%d bloggers like this: