如何注册在ASP.net中打开电子邮件/简报的客户

Ruu*_*ten 5 c# email user-agent

对于我的实习,我目前正在开发一个基于网络的通讯,在ASP.Net(C#)中发送应用程序.此应用程序注册发送新闻稿的开放率.

我正在使用逐个透明的图像方法,在下面的文章中解释:http://www.pinpointe.com/blog/how-email-open-and-click-tracking-works来注册开放率.

应用程序可以注册打开的数量,以及打开电子邮件的日期/时间.唯一缺少的是打开电子邮件的客户端(程序).此信息可以帮助设计团队为新闻稿编写正确的HTML代码,这在最常见的电子邮件客户端中是可读的.

要通过打开电子邮件来跟踪客户端,我当前正在使用用户代理请求逐个图像形成我们的服务器.此信息存储在我们的数据库中,如下所示:

数据库中的UserAgent字符串

此示例中的记录12和13保存用户代理"Microsoft Office Protocol Discovery".在Microsoft Outlook中打开简报时注册了此用户代理.

有没有办法获得有关客户的更具体信息?例如"Microsoft Outlook 2007"作为客户端.

Joh*_*oit 2

似乎很难找到解决方案,但到目前为止我发现的是:

Mailchimp 似乎正在这样做(http://blog.mailchimp.com/see-what-email-programs-your-subscribers-use-with-user-agent-stats/),所以它似乎是可能的。

可能值得您花时间查看 X-Mailer 标头 - http://msdn.microsoft.com/en-us/library/ms819781.aspx - 不确定它是否放入 HTTP 请求的标头中,但此字段似乎包含您正在查找的信息(如此处所示 - http://office.microsoft.com/en-us/outlook-help/view-e-mail-message-headers-HA001230300.aspx)。

除此之外,我可以建议的是从不同的客户那里进行几轮练习,并检查他们的请求(标​​头)是否有任何识别信息。

希望有点帮助。