邮件客户端检测

时间:2010-11-03 08:47:19

标签: email user-agent

我有一个向最终客户发送电子邮件的项目。我的客户需要知道他们使用什么“电子邮件客户端”来阅读邮件。我知道隐藏的可以获得开放事件甚至是他们使用的用户代理,因此通过解析用户代理,我可以获得大多数电子邮件客户端信息。

但很难检测到一些流行的网络邮件客户端,如“Gmail”,“Hotmail”和“Yahoo mail”。因为用户代理返回只是浏览器用户代理字符串。

编辑:我想我需要一个更像这样的结果: here

2 个答案:

答案 0 :(得分:8)

您将无法完美检测用户正在使用的电子邮件客户端。

在电子邮件标题中,某些程序选择包含X-Mailer标记,该标记可以准确地告诉您用户发送电子邮件的程序和版本 - 当然可以伪造。并非所有程序都使用X-Mailer标记,例如,在使用Microsoft Outlook 2010发送的邮件中找不到它。

除此之外,你可以通过电子邮件标题中的Received from标记做一些猜测,但最后你可以使用SMTP和POP3与大多数网络邮件工具如GMail或Yahoo。这意味着即使您的电子邮件是通过google.com上的服务器发送的,原始客户端仍可能是Outlook或Thunderbird,而不是GMail本身。

如果你能告诉我们为什么你的客户想知道用户用来阅读邮件的程序,我们可以帮助你。可能会调整新闻通讯的外观?

答案 1 :(得分:2)

我知道这是一个非常古老的话题,但检测gmail,hotmail,outlook.com和office365的webmail客户端最可靠的方法是使用跟踪像素。你想要做的是地理定位IP地址,你会发现gmail都来自redmond的山景和微软产品。

我没有向非美国用户验证这一点,但我认为他们使用的缓存服务都在同一个地方。

干杯