0

I'm working on the C# project whom allows the sender to send mail and:

  • Verify the receiver has read email or not?
  • Verify the receiver's email is located in Inbox or Spam...
  • Verify the receiver's email ip
  • Verify the receiver clicked the link on sender's email

I do not know how to start to deal with these problems :(

Thanks and appreciate you helps!!!

Bac Clunky
  • 353
  • 3
  • 6
  • 18

2 Answers2

5

Short answer:

  • you can't do 1, 2 and 3 reliably/at all without deploying code/software on the receiver's side.
  • you can do 4 with link redirection.
nohillside
  • 344
  • 4
  • 17
  • I searched the website which provides business mail system. Their product features include the 1,2,3 bullets :( – Bac Clunky Aug 04 '12 at 09:06
  • Of course but this requires software installation on the receiver's side. Without this it's just impossible, see @jonodlo's answer for a lot of interesting details. – nohillside Aug 04 '12 at 09:08
4

On the basis that you don't have access to the recipient's computer, here are the long answer versions of patrix' short answer:

Verify the receiver has read email or not?

Unfortunately email has never been designed to let you know when an email has been received, and very few (and certainly no standard mail clients I know of) will report if an mail has been received correctly*, let alone opened. However, you can track emails sometimes by embedding an HTML image tag, and tracking when that image is downloaded from the server. There are a lot of caveats, such as it only working for HTML emails, and only if images are enabled, but that's one of the only 'reliable' methods for tracking email opens, and the most common method used by Mailing List providers (who need to think about this stuff a lot)

[* There is a feature known as 'read receipts' (technically Message Disposition Notifications or MDN) that many clients implement, but I believe few people ever use, which sends an email in response to reading an email. An email can request a read receipt by setting the appropriate header, but it is optional for the recipient to respond.]

Verify the receiver's email is located in Inbox or Spam...

Next to impossible; in the first instance, the concept of a 'spam' folder does not exist universally across all mail clients, and has never been a part of any email specification [to my knowledge]. In the second instance, as I mentioned, very few (if any) email clients report on the state of an email, let alone the folder it has been put into.

Verify the receiver's email ip

Again, not reliably, but you will make some headway in this if you implement image-based tracking as I mentioned in point #1

Verify the receiver clicked the link on sender's email

This is known as 'Clickthrough Tracking'. This can be done, fairly 'easily'. Instead of providing a link directly to a location, you link to a tracking URL first. E.g. instead of linking to http://www.example.com, you should link to http://mydomain.com/TRACKINGID, which then redirects to http://www.example.com *. Then, on the server side, you can log when http://mydomain.com/TRACKINGID is visited. You can then put a unique tracking ID into every email for every recipient, e.g. Recipient A receives a link to http://mydomain.com/TRACKIDA, and Recipient B receives a link to http://mydomain.com/TRACKIDB. both /TRACKIDA and /TRACKIDB redirect to example.com but, assuming you're logging HTTP requests, you can see who visited their link, where they visited from, when they visited the link, and how many times they visited.

This is the way all mailing list providers track clickthroughs, and roughly what you will need to do

[* Note that you will obviously require the relevant software to do this, e.g. with a 'simple' PHP page, or by using Apache mod_rewrite - whatever floats your boat, really]

Community
  • 1
  • 1
jonathanl
  • 524
  • 2
  • 9