3

我有一个通讯系统,可以跟踪阅读它的人。尽管此功能仅在获得下载图像的权限时才有效。但这不是我目前的问题。

我的问题是,当我在 Outlook (2010) 中打开时事通讯并授予下载图像的权限时,我的系统没有注册此视图。但是当我在 gMail 中打开相同的时事通讯时,它可以正常工作。即使我使用 Outlook 将电子邮件保存到 HTML 文件并打开该文件,也会注册一个新视图。保存视图并呈现 1x1 图像的页面不返回任何错误,并且在 Apache 日志中找不到任何错误。

奇怪的是它直到一周前仍然有效。但是即使我把代码备份了,它仍然不起作用....

The image url is build up with an base64 encodes string, for example: http://domain.com/tracker/eyJtYWlsaW5nSWQiOiI4MjQiLCJjb250YWN0SWQiOjM3MzA5LCJjaHVuayI6ImIyYmNiNzhkNjAyMmVmNzQ0NmM4ZDA0YzU1ZGZhMTY0In0=/ In this encodes string, I have a JSON string that contains the newsletter id, a contact id and a MD5我用来验证数据的字符串。

我想如何解决或调试这个问题。有没有人有提示甚至更好的解决方案?:) 微软是否可能更新了 Outlook 以阻止它下载此类图像?

4

4 回答 4

0
  1. 检查您是否发送正确的 MIME
  2. 我建议在 url 示例中使用扩展名:.png .jpg
  3. 尝试不同的域。
于 2013-05-13T07:18:39.077 回答
0

这是生成图像的代码:

header('HTTP/1.0 200 Ok');                      
header("Content-type: image/png");                      

$trackerImage = imagecreate(1, 1);
$bgColor = imagecolorallocate($trackerImage, 255, 255, 255);
imagepng($trackerImage);
imagedestroy($trackerImage);

这一直有效,直到两周前服务器硬件崩溃......托管公司声称服务器配置没有任何更改。

我已经尝试向图像路径添加扩展,但这对 Outlook 没有影响。

于 2013-05-14T12:06:40.010 回答
0

尝试将 HTML 代码设置为将图像显示为更大的图像。或者更好的是,只显示一个正常的图像。

于 2013-05-18T08:42:31.890 回答
0

我只是碰巧解决了这个问题。原因似乎很简单,但很难发现。

在保存有关用户的数据时,我还请求了用户代理。在数据库中,我有一个 varchar (255) 字段用于此信息。然而,用户代理 Outlook 被证明超过 255 个字符。所以这会导致来自数据库的错误消息,因此没有生成图像。

于 2014-10-21T07:48:34.100 回答