Has anyone ever come up with a way to detect the email program a recipient is using?

蓝咒 提交于 2020-01-05 07:38:11

问题


I know there are ways to detect browsers based on CSS rules but I don't know if the same tricks would work for Outlook. The way I think it could work is have CSS rules that show and hide urls so that when a recipient clicks on a link I can tell which email program it came from.


回答1:


I can't see how this would be possible. Browser detection is done via Javascript (not CSS). And if the user is using a non-web-based email client (such as Outlook), clicking on a link will trigger the default browser to open and load the link. The information the browser sends to your server will have no knowledge of what application caused the browser to launch.

I think your only option would be to have different links for each client and rely on the goodness of the users to click the correct link.

I also think you'd have a fairly high success rate of guessing the client based on a few factors that ARE available after the link is clicked such as:

  • The device type
  • The Browser
  • The Operating System
  • The email address (if it's gmail.com or hotmail.com you know 99% of them used the web client - or for a better match mix it with the device type)

Then you could make generalisations such as:

  • Accessed from Windows and not a gmail/hotmail/yahoo webmail address - probably used Outlook
  • Accessed from OSX and not webmail address - probably used Mail
  • Accessed from either and a webmail address - probably used Browser

Rules like that could probably give you some pretty meaningful statistics.




回答2:


If your challenge is to see what email client the person is using, there are simpler solutions than showing and hiding links. The easiest way would be to embed an image, add a query string to it like so:

http://www.yoursite.com/image.png?email=youremail@email.com

You would then catch this serverside and get the user agent string.

The issue with this is with webmail clients like GMail and Hotmail. In these instances the user agent string would be the same as the web browser. Here you would detect the user's webmail client by inspecting the email address, eg. hotmail.com.

There are edge cases such as Google Apps for Business, but this should catch most cases.

Most email senders such as Mailchimp will do mail client analytics for you.



来源:https://stackoverflow.com/questions/7591474/has-anyone-ever-come-up-with-a-way-to-detect-the-email-program-a-recipient-is-us

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!