电子邮件跟踪 - GMail [英] Email Tracking - GMail

查看:227
本文介绍了电子邮件跟踪 - GMail的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在创建自己的电子邮件跟踪追踪系统。我已经能够使用http引荐来源来确定他们正在使用的每个人的电子邮件客户端,但由于某种原因,GMAIL根本不会发送HTTP_REFERRER!



所以我试图找到另一种方式来识别何时gmail从我的服务器请求一个透明的图像。我收到以下标题 print_r($ _ SERVER);

  DOCUMENT_ROOT = / usr / local / apache / htdocs 

GATEWAY_INTERFACE = CGI / 1.1

HTTP_ACCEPT = * / *

HTTP_ACCEPT_CHARSET = ISO-8859-1 ,utf-8; q = 0.7,*; q = 0.3

HTTP_ACCEPT_ENCODING = gzip,deflate,sdch

HTTP_ACCEPT_LANGUAGE = en-GB,en-US; q = 0.8 ,en; q = 0.6

HTTP_CONNECTION =保持活着

HTTP_COOKIE = __utmz = 156230011.1290976484.1.1.utmcsr =(direct)| utmccn =(direct)| utmcmd =没有); __utma = 156230011.422791272.1290976484.1293034866.1293050468.7

HTTP_HOST = xx.xxx.xx.xxx

HTTP_USER_AGENT = Mozilla / 5.0(Windows; U; Windows NT 6.1; en-US) AppleWebKit / 534.10(KHTML,像Gecko)Chrome / 8.0.552.237 Safari / 534.10

PATH = / bin:/ usr / bin

QUERY_STRING = i = MTA =

REDIRECT_STATUS = 200

REMOTE_ADDR = xx.xxx.xx.xxx

REMOTE_PORT = 61296

REQUEST_METHOD = GET

该列表中有什么用吗?或者还有其他可以做的事实来得到http引用来源,如果不是其他ESP如何管理gmail是否被用来查看电子邮件


$ b btw,如果我们能够阻止这是否符合道德标准,我很感激,因为许多ESP已经这样做了,我只是不想支付他们的服务,我想在内部做。



感谢所有的实施建议。



更新



只是想我会更新这个问题,并根据赏金更清楚。



我想知道用户何时在发送到Gmail时打开我的电子邮件收件箱。假设我有通常的透明图像跟踪,并且用户不会阻止图像。



我想用单个请求和我获得的标题细节请求透明图像

解决方案

使用HTTP或HTTPS请求您的图像?



这是的问题。



HTTPS-> HTTP引用不会泄漏HTTP_REFERER。因此,如果您将HTTP托管图像嵌入到以HTTPS方式下载的电子邮件中,则不会发送引荐来源网址。 (HTTP-> HTTPS,但是,do)。因此,解决方案是将图像作为主机嵌入为HTTPS。我已经测试了,确实有足够的安全的HTTPS映像确实泄漏了HTTP引荐来源。



所以,默认情况下,Gmail无法阻止加载图片的引荐来源信息,因为Gmail不是客户端提出的请求。他们唯一可以的方式是使用 HTML5'noreferer'功能,这是不被广泛支持的(我认为最近基于WebKit的浏览器可能是这篇文章中唯一的)。



请参阅以下请求的HTTP REFERER动态生成的嵌入图像的屏幕截图:


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 GMAIL does not send a HTTP_REFERRER at all!

So I am trying to find another way of identifying when gmail requests a transparent image from my server. I get the following headers print_r($_SERVER);:

DOCUMENT_ROOT  =  /usr/local/apache/htdocs

GATEWAY_INTERFACE  =  CGI/1.1

HTTP_ACCEPT  =  */*

HTTP_ACCEPT_CHARSET  =  ISO-8859-1,utf-8;q=0.7,*;q=0.3

HTTP_ACCEPT_ENCODING  =  gzip,deflate,sdch

HTTP_ACCEPT_LANGUAGE  =  en-GB,en-US;q=0.8,en;q=0.6

HTTP_CONNECTION  =  keep-alive

HTTP_COOKIE  =  __utmz=156230011.1290976484.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utma=156230011.422791272.1290976484.1293034866.1293050468.7

HTTP_HOST  =  xx.xxx.xx.xxx

HTTP_USER_AGENT  =  Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.237 Safari/534.10

PATH  =  /bin:/usr/bin

QUERY_STRING  =  i=MTA=

REDIRECT_STATUS  =  200

REMOTE_ADDR  =  xx.xxx.xx.xxx

REMOTE_PORT  =  61296

REQUEST_METHOD  =  GET

Is there anything of use in that list? Or is there something else I can do to actually get the http referrer, if not how are other ESPs managing to find whether gmail was used to view an email?

Btw, I appreciate it if we can hold back on whether this is ethical or not as many ESPs do this already, I just don't want to pay for their service and I want to do it internally.

Thanks all for any implementation advice.

Update

Just thought I would update this question and make it clearer in light of the bounty.

I would like to find out when a user opens my email when sent to a GMail inbox. Assume, I have the usual transparent image tracking and the user does not block images.

I would like to do this with the single request and the header details I get when the transparent image is requested.

解决方案

Are your images requested with HTTP or HTTPS?

That's the problem.

HTTPS->HTTP referrals do not leak HTTP_REFERER. So, if you embed a HTTP hosted image in an email that is downloaded in HTTPS, it won't send a referrer. (HTTP->HTTPS, however, do). So, the solution is to host embed the image as HTTPS. I've tested it, and sure enough, secure HTTPS images do indeed leak the HTTP Referrer.

So, there's no way Gmail could block the referrer information on loaded images by default, since Gmail isn't the one making the requests, the client is. The only way they could do it is if they used the HTML5 'noreferer' feature, which is not widely supported (I think recent WebKit-based browsers may be the only ones, as of this writing).

See the below screenshot of an embedded image that is generated dynamically with the HTTP REFERER of the request:

这篇关于电子邮件跟踪 - GMail的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆