2010-04-09 60 views
1

我想跟踪何时查看电子邮件,所以我想创建一个对图像起反应的httphandler,比如每当查看acme.gif时。HttpHandler跟踪图像何时加载到电子邮件中

这是直截了当的吗?

难道仅仅是一个把正确的配置设置喜欢的事:

<add verb="*" path="/images/track/acme.gif" ... /> 

这是正确的吗?

+0

我想指出,许多电子邮件客户端默认配置*不*加载图像,特别是为了防止这种类型的跟踪。 – 2010-04-09 14:27:00

+0

休,好点但是很好,你只能这么做。 – Blankman 2010-04-09 14:30:30

+0

我不认为这会非常准确。那些因为客户端电子邮件设置而只接收电子邮件的人呢? – 2010-04-09 14:31:06

回答

2

我相信这个请求不会由asp.net处理,直到你为它设置IIS为止。默认情况下,* .gif是由IIS直接处理的静态资源。为什么不只是简单地使用HttpHandler而不注册自定义扩展?

你可以在IMG标记像这样使用它:

<img src="http://yourserver/YourHandler.ashx" /> 
+0

啊..好主意。 – Blankman 2010-04-09 15:31:55

0

据我所看到的,你有两个选择。将图像源更改为动态URL,或使用有效的图像路径并将这些请求转发给ASP.NET。

我们使用后一种方法,并通过IIS中的应用程序配置通配符映射将所有图像请求转发到ASP.NET ISAPI DLL,并从那里开始工作。我们有URL重写以将请求转发到特定页面,并且我们在URL参数中包含用于标识特定电子邮件收件人的参数。我们跟踪打开的电子邮件,然后在回复中写出有效的图像。

由于某些原因,已打开任何跟踪电子邮件的方法都无法打开。图像关闭的用户,纯文本电子邮件阅读器以及代理级缓存。但是,这不能轻易完成的评论是广泛的。