为Gmail创建跟踪像素

5
我正在尝试创建一个追踪像素,将记录电子邮件打开的时间并存储在我的数据库中。我通过在URL路径中调用PHP链接来实现此功能。
<img src="http://example.com/lp/index.php?p=tp&ord=xxxx" />

在我的控制器中,我有记录时间的代码,然后是读取一个1x1像素的图像并将其显示在屏幕上的代码。

$fileOut = 'inc/sections/common/tpixel.jpg';
header("Content-Type: image/jpg");
header('Content-Length: ' . filesize($fileOut));
readfile($fileOut);

如果将img标签放在网页的HTML中并在浏览器中查看,则该操作可以按预期工作。但是,当我将此图像标签放入电子邮件中,并使用Gmail查看它时,时间戳不会触发,也不会显示图像。它只返回一个404错误。
您有什么想法,为什么在Gmail中查看图像会返回未找到错误?这不是最好的方法吗?这是我第一次尝试跟踪像素。
另请注意,我确实点击了在邮件中显示图片以激活它。

404,这是你的服务器吗?那么URL已经被更改了吗? - user557846
为什么要踩这个问题?这是一个合法的问题,并且清楚地定义了代码中存在的问题来支持该问题。 - user3167249
是的,由于某些原因它无法在我的服务器上找到。对于上面的图像标签,是的,我按照SO上发布URL的指南放了一个假的URL。然而,我注意到Gmail中实际的图像URL是:ttps://ci4.googleusercontent.com/proxy/nFwubQ7rKMx06k6-ke1fBzNhumlT7Iq7sHWZw4wkVIP0i8ZMKgE_2RUZEsayjgUeEiCdu7nfGKZxajkwxIFFBlBaMORJh3dbTvxOIC-3VJvR=s0-d-e1-ft# - user3167249
1个回答

2

1
即使跟踪像素的URL是公开可访问的并且具有775权限,我也遇到了同样的问题。 Gmail代理似乎无法捕获它或者出现了什么问题,该如何解决? - MrWeix

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接