电子邮件跟踪 - Apple Mail
我已经问了一个类似的问题,但是对于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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以检查该用户代理是否仅与 Apple 的 Mail 匹配(即不与 Safari 或其他 Apple WebKit 实现匹配)。
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).
这就是我要做的 -
通常,电子邮件客户端会自动阻止外部图像,因此只有当用户允许为您的电子邮件地址加载图像时,此方法才有效。
常见的技巧是将令牌放在图像中以及电子邮件中的所有链接上。然后添加一行“如果您无法正确查看此消息,请单击此处”。如果允许使用图像,那就太好了。否则,用户将无法阅读您的消息,并且可能会单击该链接。无论哪种方式,您都会获得用户代理和哈希令牌。
..但是,如果用户不允许使用图像并且不单击链接,则无法跟踪用户是否真正阅读了电子邮件。
最后提示:使用 WURFL 库 解码用户代理。它是那里最好的图书馆。
Here is what I would do -
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.