2011-11-28 150 views
0

我想弄清楚用戶何時打開我發給他的電子郵件。我正在發送帶有圖像的HTML電子郵件。該圖像由通用處理程序處理。目前這個處理程序沒有被擊中。這是實現我的目標的好方法嗎?如何檢查用戶是否打開電子郵件?

public void ProcessRequest(HttpContext context) 
     { 
      byte[] byteArray = System.IO.File.ReadAllBytes(@"c:\temp\Desert.jpg"); 
      context.Response.Clear(); 
      context.Response.ContentType = "image/bmp"; 
      context.Response.BinaryWrite(byteArray); 
     } 

郵件正文如下:

"<html><head><title></title></head><body><form name='form1' method='post' action='Default.aspx'><div><img id='Image1' src='ImageHandler.ashx?img=1' style='border-width:0px;' /></div></form></body></html>"; 
+0

這可能不是100%完美。 AFAIK大多數電子郵件客戶端首先會阻止圖像,並且會按需加載。 – Shoban

+1

我不知道ASP,所以我只是評論一下:在電子郵件閱讀器上進行間諜活動通常被認爲是不好的口味,因爲它牽涉到隱私問題。也就是說,郵件系統有辦法請求(注意:不要求)正在打開的郵件的通知,並且應該優先於侵入隱私的圖像技巧。 – ibid

+0

這樣的事情讓我很高興我的電子郵件程序甚至不會嘗試加載這樣的圖像。這是*無關您的業務*無論何時和當我閱讀我的電子郵件。無論如何,這是我的觀點... –

回答

0

幾年前,我面臨着同樣的問題。儘管這是一個商業需求,但我仍然使用相同的確切方法,因此對於公司的每個成員都允許允許來自此特定電子郵件地址的圖像。所以每次有人打開電子郵件時,通用處理程序都會改變數據庫中的某些內容,並且我們知道誰打開了電子郵件。儘管如此,這受到了限制。使用Outlook的用戶必須雙擊電子郵件才能正常工作。預覽電子郵件是不夠的,出於某種原因,我目前不記得。儘管這是一種技巧,但如果這不是公司的電子郵件,那麼最好的辦法是實際發送一個超鏈接。那些對此感興趣的人將點擊它,你將能夠看到誰真正看到了你的電子郵件。如果沒有,我不會推薦這種方法,因爲同上提到的這是一種隱私侵入性。祝你好運!

0

由於隱私問題日益嚴重,大多數電子郵件客戶端默認都會阻止訪問外部數據,但用戶可以選擇退出此行爲。您可以確定用戶是否打開了您的電子郵件的唯一方法是讓他們訪問服務器上的一些內容並記錄該特定內容的所有請求,因爲大多數電子郵件客戶端都被阻止圖片電子郵件營銷公司試圖使用其他方式跟蹤like embedding iframes在電子郵件等,

任何技術仍然依賴的條件是用戶必須訪問發件人服務器上的一些內容,並與不斷增加的隱私問題,我不認爲那裏將成爲未來追蹤電子郵件的可靠方式

0

您永遠無法確定用戶是否真的在查看圖像,但確保圖像實際上鍊接到您的網站可能是一個主意:

<img id='Image1' src='http://yourserver.com/ImageHandler.ashx?img=1' style='border-width:0px;' /> 
相關問題