Sending emails has become an ordinary task in our daily life and every one can do it! (well! every one that can read this at least!) and what I want to do in this tutorial and subsequent other ones is to go under the hood and discover some exiting things about email systems!
Today we are going to investigate how email reading notification services work but first what do I mean by "email reading notification"?
Simple Definition: Email reading notification -which I will abbreviate from now on and call it ERN- service lets you know when an email you've sent gets read! (http://www.readnotify.com), But this is just the basic role of such service because in reality it does more for you like for instance keeping track of the emails -you've sent over the time- and got read, the dates when the emails got read, the locations from where they were read, the email clients used to read them and much more! ReadNotify is one of these services and you can try it for free for -I believe- 30 days, and that's exactly what we are -without any further ado- going to do!
So we used our preferred browser to connect to http://www.readnotify.com and we were welcomed by the nice interface in the picture above. I don't need to show you how I did to create an account using my Hotmail address, do I? Nah!
The account is created and we are given a nice summary of what ReadNotify is all about and what it can do for us, I encourage you to read the whole thing! No kidding, really!
I said that I used my Hotmail address to sign up and create an account so let's go to Hotmail and send an email from there to test the service.(You must use the email you signed up with to send emails you want to be notified when they will be read).
We need to log in, don't we?
At the top of the non read emails in my inbox is one from ReadNotify to welcome us and wish us a great experience with the free trial period which is indeed 30 days.
And what we need to do now is send an email to someone (I will send the email to myself to my Gmail address but not because I am a lonely guy! but just for testing purposes!)
So there I wrote a silly message but what's important is the email address of the recipient and I hope you did notice what I added to it, Yep! the domain name of the email tracking service (readnotify.com) and that way the email we are sending will be routed through the email server (SMTP server more luckily! SMTP stands for Simple mail Transfer Protocol) owned by ReadNotify service and if you are asking why that? than please read on and you'll get an answer!
The email was sent and Gmail notifier informs me of the arrival of an email from a guy named Bakkich Abdelhakim! Hemm let's read what this guy has written to us, shall we?
I logged in to my Gmail account and there is the email but please wait a minute! don't rush and open it yet! we've got to do something now because here is where the action is supposed to happen! so we better get ready by launching our beloved Wireshark protocol analyzer to grab the packets that go through our network interface and monitor what's going on and how ReadNotify gets alarmed that we've just opened an email!
So Wireshark is launched and I configured it to use the right network interface and I didn't apply any capture filters if you want to know because we want to capture everything.
I opened the email and surprisingly enough nothing happened! The ReadNotify didn't have a clue I am reading the email! what's the matter?
Well, the answer is that Gmail is protecting us by not allowing the display of images! "what have images to do with this at all?" you may ask!
OK! let's first enable the displaying of images in Gmail by clicking on "Display images below" link as shown in the following picture :
Almost instantly after clicking the link, I've received an email to my Hotmail account and guess what? it is from ReadNotify service:
By looking at the email itself we see that it gives us more than just a notification that our email was read: Date and time, location, Public IP address, domain name associated with that IP address if any, Email Client used to read the message!, ... etc
Now the question is how did ReadNotify service knows all these informations?
I am sure that the reader of this tutorial already guessed that the way ReadNotify gets to know all these informations has something to do with the images Gmail blocked when we first opened our email!
And yes that is absolutely right! So to confirm that let's go and analyze what Wireshark had grabbed from the wires of our network?
In the above capture is highlighted with the blue color a standard DNS query for an A record for the FQDN www.vly8nqg5ufdum8.readnotify.com, a query for an A record means that the query is for an IP address.
The packet number 21 is a positive response to the DNS query.
And the packet number 25 is what interests us because it is an HTTP Get request for a GIF image named footer0.gif hosted on the host www.vly8nqg5ufdum8.readnotify.com for which we have the IP address thanks to the DNS server.
With the HTTP Get request get sent a lot of informations about our environment from which we initiated the request and if we compare these informations with those we saw in the email sent from ReadNotify service we can see that they are the same!
With all these "facts" we gathered and the testing process we went through we can declare that we know for sure how ReadNotify works! And the following points summary the whole thing:
- When we send an email to someone and want to get notified when it is opened, we add the domain name of our Email Reading Notification service to the receiver. (readnotify.com in our demonstration).
- When the email is sent it goes through the email server of the ERN service, so they add to it an image or more hosted on their web or ftp server for example.
- When we open the email, normally a request is sent to the web or ftp server that hosts the image added to the email. (Gmail -as we saw- protects its users by blocking the display of images by default!)
- With the request for the image goes lot of informations about the environment from which it was initiated and the ERN services take advantage of that to build their email tracking system.
And that's -believe it or not!- all there is to it!
Finally we can verify that an image was added to our email by looking at the HTML code source because it can't be seen from the email client interface!

For more information about the subject, you can read these nice articles :
http://ask-leo.com/do_email_tracking_services_work.htmlhttp://ask-leo.com/can_i_tell_if_email_i_sent_has_been_read_by_the_recipient.html