2010-11-03 171 views
5

我有一个项目发送一些电子邮件给最终客户。我的客户需要知道他们用来阅读邮件的确切“电子邮件客户端”。我知道一个隐藏的可以获得公开事件,甚至他们使用的用户代理,所以通过解析用户代理我可以获得大多数电子邮件客户端信息。电子邮件客户端检测

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

编辑:我想我需要的结果更是这样的: here

+0

............... – 2010-11-03 08:48:41

+0

Gmail不是电子邮件客户端! Outlook和Thunderbird都是,我也会说“浏览器”也是。我想你可以通过查看...地址来告诉Hotmail地址,因为任何POP3都可以从Gmail打开,更不用说Google Apps域名,这对于Gmail而言并非如此。 – 2010-11-03 08:52:32

+2

iDevlop:用户说*“网络邮件客户端”*这是正确的GMail和喜欢。 – 2010-11-03 09:01:27

回答

8

你将不能够完美地检测用户使用的电子邮件客户端。

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

除此之外,您还可以通过电子邮件标题中的Received from标记做一些猜测,但最终可以使用SMTP和POP3与大多数webmailer GMail或雅虎。这意味着即使您的电子邮件是通过来自google.com的服务器发送的,但始发客户端仍然可以是Outlook或Thunderbird,而不是GMail本身。

也许我们可以帮助你,如果你能更好地告诉我们为什么你的客户想知道用户用来阅读他们的邮件的程序吗?可能调整通讯的外观?

+2

提问者不需要知道电子邮件发件人的电子邮件客户端。他需要它用于电子邮件收件人。 – guidod 2014-10-30 01:12:57

0

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

我还没有验证这与非美国用户,但我想象他们使用的缓存服务将全部在相同的地方。

干杯

+0

我知道这是一个旧的答案,但它看起来非常有趣。你有没有进一步测试或研究这个?我目前正在寻找任何简单的方法来重定向我的网站上的用户,基于他们来自哪个电子邮件客户端。 – bennygill 2017-09-15 05:45:53

相关问题