电子邮件跟踪 - Apple Mail

发布于 2024-10-19 06:34:14 字数 1282 浏览 1 评论 0原文

我已经问了一个类似的问题,但是对于GMail,我对收到的出色答案感到非常满意。但是,我在使用另一个电子邮件客户端时遇到了问题:Apple Mail。

我正在创建自己的电子邮件跟踪系统,用于电子邮件营销跟踪。我已经能够通过使用http引用来确定他们正在使用的每个人的电子邮件客户端,但由于某种原因,Apple Mail(如GMail)不会通过HTTP_REFERRER发送。对于 GMail,解决方案是使用 https 来托管透明图像,但这对 Apple Mail 不起作用。

print_r($_SERVER); 仅提供此类标头:

WM_UCONTROL_XMLRPC_SERVER - http://aaaaaaaaa

HTTPS - on

ACCESS_DOMAIN - aaaaa

DATABASE_SERVER - aaaaaaa

SITE_ROOT - /home/121000

SITE_CGIROOT - /home/121000/cgi-bin

SITE_HTMLROOT - aaaaaa

PHPRC - aaaaa

HTTP_X_FORWARDED_HOST - aaaaaaa

HTTP_X_FORWARDED_SERVER - aaaaa

HTTP_X_FORWARDED_FOR - aaaaaa

HTTP_HOST - aaaaaa

HTTP_CONNECTION - close

HTTP_USER_AGENT - Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_5; en-us) AppleWebKit/525.18 (KHTML, like Gecko)

HTTP_ACCEPT - */*

HTTP_ACCEPT_LANGUAGE - en-us

HTTP_ACCEPT_ENCODING - gzip, deflate

SERVER_SIGNATURE - <address>Apache/2.2.9 Server at aaaaaaa Port 443</address>


SERVER_SOFTWARE - Apache/2.2.9

SERVER_NAME - aaaaaa

SERVER_ADDR - aaaaaa

SERVER_PORT - 443

请注意,某些详细信息隐藏在字符串 a 中。

有没有其他方法可以找出何时Apple Mail 客户端请求此图像?

顺便说一句,这是我希望有一种方法可以邀请某些用户提问,因为 yc 上次提供了很大的帮助!

I have asked a similar question to this but for GMail and I was greatly satisfied with an awesome answer I received. However, I am having trouble with another email client: Apple Mail.

I am creating my own email tracking system for email marketing tracking. I have been able to determine each persons email client they are using by using the http referrer but for some reason Apple Mail like GMail does not send across HTTP_REFERRER. For GMail the solution was to use https for where I hosted the transparent image but this hasnt worked for Apple Mail.

print_r($_SERVER); only gives this sort of header:

WM_UCONTROL_XMLRPC_SERVER - http://aaaaaaaaa

HTTPS - on

ACCESS_DOMAIN - aaaaa

DATABASE_SERVER - aaaaaaa

SITE_ROOT - /home/121000

SITE_CGIROOT - /home/121000/cgi-bin

SITE_HTMLROOT - aaaaaa

PHPRC - aaaaa

HTTP_X_FORWARDED_HOST - aaaaaaa

HTTP_X_FORWARDED_SERVER - aaaaa

HTTP_X_FORWARDED_FOR - aaaaaa

HTTP_HOST - aaaaaa

HTTP_CONNECTION - close

HTTP_USER_AGENT - Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_5; en-us) AppleWebKit/525.18 (KHTML, like Gecko)

HTTP_ACCEPT - */*

HTTP_ACCEPT_LANGUAGE - en-us

HTTP_ACCEPT_ENCODING - gzip, deflate

SERVER_SIGNATURE - <address>Apache/2.2.9 Server at aaaaaaa Port 443</address>


SERVER_SOFTWARE - Apache/2.2.9

SERVER_NAME - aaaaaa

SERVER_ADDR - aaaaaa

SERVER_PORT - 443

Please note, certain details where hidden with a string of a.

Is there any other way I can find out when the Apple Mail client requests this image?

As a side note, this is when I wish SO had a way to invite certain users to questions as yc was a great help last time!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

我ぃ本無心為│何有愛 2024-10-26 06:34:14
Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_5; en-us) AppleWebKit/525.18 (KHTML, like Gecko)

您可以检查该用户代理是否仅与 Apple 的 Mail 匹配(即不与 Safari 或其他 Apple WebKit 实现匹配)。

Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_5_5; en-us) AppleWebKit/525.18 (KHTML, like Gecko)

You could check to see if that user agent will match to Apple's Mail only (i.e. not Safari or other Apple WebKit implementations).

暖树树初阳… 2024-10-26 06:34:14

这就是我要做的 -

  1. 首先,每个电子邮件地址的图像链接应该是唯一的。像 Pixel-.jpg 之类的东西。应该以某种方式对用户的电子邮件地址进行编码。
  2. 跟踪作为 http 服务器的一部分发送的用户代理。
  3. 如果您获得引用标头并可以解析它,那就太好了。如果没有,用户代理可以提供帮助。
  4. 如果 user-agent 指示浏览器,则从电子邮件地址找出电子邮件客户端。例如,如果电子邮件是 [email protected],则您知道其网络电子邮件。
  5. 谷歌和其他公司也提供托管电子邮件。因此,如果用户代理指示浏览器,并且电子邮件地址为 [电子邮件受保护],电子邮件客户端仍有可能是gmail。要了解更多信息,您可以查找 mydomain.com 的 MX 记录。如果 MX 记录中有 google 或 googlemail,则您知道您正在处理 Gmail。同样的方法也适用于其他电子邮件托管公司。
  6. 如果它是基于桌面的客户端(例如 Outlook 或 Thunderbird),用户代理通常会指出这一点。

通常,电子邮件客户端会自动阻止外部图像,因此只有当用户允许为您的电子邮件地址加载图像时,此方法才有效。

常见的技巧是将令牌放在图像中以及电子邮件中的所有链接上。然后添加一行“如果您无法正确查看此消息,请单击此处”。如果允许使用图像,那就太好了。否则,用户将无法阅读您的消息,并且可能会单击该链接。无论哪种方式,您都会获得用户代理和哈希令牌。

..但是,如果用户不允许使用图像并且不单击链接,则无法跟踪用户是否真正阅读了电子邮件。

最后提示:使用 WURFL 库 解码用户代理。它是那里最好的图书馆。

Here is what I would do -

  1. First, the image link for each email address should be unique. Something like pixel-.jpg. The should somehow encode the users email address.
  2. Track the user-agent that's sent as part of the http server.
  3. If you get the referrer header and can parse it, great. If not, the user-agent can help.
  4. If user-agent indicates a browser, figure out the email client from the email address. For example, if the email is [email protected], you know its web gmail.
  5. Google and other companies also provide hosted email. So, if user agent indicates a browser, and the email address is [email protected], there is still a chance the email client is gmail. To find out more, you can look up the MX records for mydomain.com. If the MX record has google or googlemail in it, you know you are dealing with gmail. Same approach can be used for other email hosting companies.
  6. If it is a desktop based client like outlook or thunderbird, the user agent will usually indicate this.

Generally, email clients automatically block external images, so this approach will only work if the user allows image loading for your email address.

A usual trick is to have the token in an image, as well as on all links in the email. Then add a line "If you cannot view this message properly, click here". If the image is allowed, great. Otherwise the user won't be able to read your message, and will likely click the link. Either way, you get the user-agent and the hash-token.

.. But if the user doesn't allow images and doesn't click the link, there is no way to track if the user actually read the email.

Final Tip : Use the WURFL library to decode the user agent. Its the best library out there.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文