Email 电子邮件客户端检测

Email 电子邮件客户端检测,email,user-agent,Email,User Agent,我有一个项目,发送一些电子邮件给最终客户。我的客户需要知道他们用来阅读邮件的确切的“电子邮件客户机”。我知道隐藏可以获取打开的事件,甚至可以获取他们使用的用户代理,因此通过解析用户代理,我可以获取大多数电子邮件客户端信息 但很难发现一些流行的网络邮件客户端,如“Gmail”、“Hotmail”和“Yahoo mail”。因为用户代理返回值只是浏览器用户代理字符串 编辑:我想我需要一个更像这样的结果: 您将无法完全检测到用户正在使用的电子邮件客户端 在电子邮件标题中,一些程序选择包含X-Maile

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

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

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

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

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

除此之外,您还可以通过电子邮件头中从标记接收的
进行一些猜测,但最终您可以将SMTP和POP3用于大多数网络邮件程序,如GMail或Yahoo。这意味着,即使您的电子邮件是通过google.com的服务器发送的,原始客户端仍然可能是Outlook或Thunderbird,而不是GMail本身


如果你能告诉我们为什么你的客户想要知道用户用来阅读邮件的程序,也许我们可以帮助你?可能是为了调整时事通讯的外观?

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

我还没有对非美国用户验证过这一点,但我可以想象他们使用的缓存服务都在同一个地方


干杯

Gmail不是电子邮件客户端!Outlook和Thunderbird是,我想说“浏览器”也是。我猜你可以通过查看来辨别Hotmail地址,这个地址对Gmail来说不是真的,因为任何POP3都可以从Gmail打开,更不用说谷歌应用程序域了。iDevlop:用户说的“web邮件客户端”对Gmail等都是正确的。iDevlop:是的,地址是个很好的建议,但地址总是来自终端客户端浏览器,所以这不是hotmail或gmail地址。我也尝试过请求引用,它也总是空的。询问者不需要知道电子邮件发送者的电子邮件客户端。我知道这是一个老生常谈的答案,但它看起来真的很有趣。你有没有进一步的测试或研究?我目前正在寻找任何简单的方法来重定向我的网站上的用户根据他们到达的电子邮件客户端。