如何检查用户是否打开了电子邮件?

时间:2011-11-28 05:56:37

标签: asp.net handler

我想知道用户何时打开我发给他的电子邮件。我正在发送一封带有图片的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>";

4 个答案:

答案 0 :(得分:0)

根据我的知识,没有完美的解决方案。我发现了一篇很好的文章,虽然我还没有实现,但我认为这可能对你有所帮助。

以下是文章

的链接

http://www.emailarchitect.net/eagetmail/sdk/html/object_report.htm

答案 1 :(得分:0)

几年前,我遇到了同样的问题。我使用了相同的方法,虽然这是业务要求,因此公司的每个成员都隐含允许来自此特定电子邮件地址的图像。因此,每当有人打开电子邮件时,通用处理程序都会更改数据库中的内容,并且我们知道谁打开了电子邮件。但这有点受到限制。使用Outlook的人必须双击电子邮件才能使其正常工作。由于某种原因,预览电子邮件是不够的,我现在无法回想起来。这虽然是一种技巧,但如果这不是公司的电子邮件,那么最好的办法是实际发送超链接。对它感兴趣的人会点击它,你将能够看到谁真正看到了你的电子邮件。如果没有,我不会推荐这种方法,因为同上提到这是一种侵犯隐私的方式。你的任务好运!

答案 2 :(得分:0)

由于隐私问题日益严重,大多数电子邮件客户端默认阻止访问外部数据,尽管用户可以选择退出此行为。您可以确定用户是否已打开您的电子邮件的唯一方法是让他们访问您服务器上的某些内容并记录该特定内容的所有请求,因为大多数电子邮件客户端都阻止了电子邮件营销公司正在尝试的图像使用其他方式跟踪电子邮件等中的like embedding iframes

任何技术仍然依赖于用户必须访问发件人服务器上的某些内容的条件,并且随着隐私问题的不断增加,我认为将来不会有可靠的方式来跟踪电子邮件

答案 3 :(得分:0)

您永远无法确定用户是否实际在查看图片,但确保图片实际链接到您的网站可能是个主意:

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