电子邮件跟踪 - GMail

时间:2011-02-19 19:05:11

标签: php email http-headers gmail http-referer

我正在为电子邮件营销跟踪创建自己的电子邮件跟踪系统。我已经能够通过使用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  =  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

该列表中有什么用途吗?或者我还能做些什么才能真正获得http推荐人,如果不是其他ESP如何设法查找gmail是否用于查看电子邮件

不过,如果我们能够阻止这是否符合道德规范,我很感激,因为许多ESP已经这样做了,我只是不想为他们的服务买单,我想在内部做。

感谢所有实施建议。

更新

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

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

我想使用单个请求和请求透明图像时获得的标题详细信息来执行此操作。

2 个答案:

答案 0 :(得分:19)

您的图片是通过HTTP还是HTTPS请求的?

如果是这样,那就是问题所在。

HTTPS-> HTTP引用不会泄漏Referer Header(HTTP_REFERER)。

如果您在从HTTPS页面请求的电子邮件中嵌入HTTP托管图像,则不会发送引荐来源。 (但请求HTTPS的HTTP页面确实发送了一个引用者。)解决方案是将图像嵌入为HTTPS。我已经对它进行了测试,果然,安全的HTTPS映像确实发送了Referrer。

默认情况下,Gmail可以阻止加载图片上的引荐来源信息的一种方式是使用a referrer policy,这在大多数现代浏览器中都受支持。 (截至2011年,他们没有实施这样的政策。)

请参阅以下使用请求的HTTP REFERER动态生成的嵌入式图像的屏幕截图: enter image description here

答案 1 :(得分:0)

使链接类似于http://www.example.com/image.jpg?h=8dh38dj

image.jpg是一个PHP文件,8dh38dj是你包含链接的电子邮件的哈希值。当用户请求文件时,你的PHP脚本将获得'8dh38dj',在数据库中查找并查找匹配电子邮件。从example@gmail.com解析域即gmail.com,你知道它来自gmail。要使jpg文件作为PHP执行,请在php中使用AddHandler