【问题标题】:Email client detection电子邮件客户端检测
【发布时间】:2011-05-04 09:00:01
【问题描述】:

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

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

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

【问题讨论】:

  • Gmail 不是电子邮件客户端! Outlook 和 Thunderbird 是,我会说“浏览器”也是。我想您可以通过查看...地址来判断 Hotmail 地址,这对于 Gmail 来说是不正确的,因为任何 POP3 都可以从 Gmail 打开,更不用说 Google Apps 域了。
  • iDevlop: 用户说“网络邮件客户端”,对于GMail等是正确的。
  • IDevlop:是的,地址是个好建议,但地址总是来自终端客户端浏览器,所以它不是hotmail或gmail地址。我也尝试过请求引荐来源网址,它也始终为空。

标签: email user-agent


【解决方案1】:

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

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

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

如果您能告诉我们您的客户究竟为什么想知道用户用来阅读邮件的程序,也许我们可以为您提供帮助?可能是为了调整简报的外观?

【讨论】:

  • 提问者不需要知道电子邮件发件人的电子邮件客户端。他需要它用于电子邮件收件人。
【解决方案2】:

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

我还没有对非美国用户进行验证,但我想他们使用的缓存服务都在同一个地方。

干杯

【讨论】:

  • 我知道这是一个旧答案,但它看起来真的很有趣。您是否对此进行了进一步测试或研究?我目前正在寻找任何简单的方法来根据用户来自哪个电子邮件客户端来重定向我网站上的用户。
猜你喜欢
  • 2016-08-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-05-08
  • 2011-06-05
  • 2013-03-03
  • 2022-01-13
  • 2020-01-16
相关资源
最近更新 更多