微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 跟踪电子邮件打开时显示真实图像

我正在尝试将电子邮件跟踪添加到我为小型客户业务构建的Web服务中.我正计划进行嵌入式图像解决方案(参考我服务器上的图像) – 除非其他人有更好的方法 – 但是当我使用引用我的服务器上的PHP页面的图像标签时,它会加载“已损坏的图像”图标.如何将其设为有效图像?

这是邮件PHP页面代码

<?PHP
   $body = "<html>Hello there!".
    "<img src='http://mysite.com/track.PHP?name=bob' />".
    "</html>";

    $subject = "Tracking on ".date('Y-m-d H:i:s');

    $headers  = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
    $headers .= 'From: webmaster@mysite.com' . "\r\n";

    mail('my_email@gmail.com',$subject,$body,$headers);
?>

这是跟踪代码

<?PHP
   include('database_connection.PHP');
   $query = "INSERT INTO tracking SET name='".$_GET['name']."', date=Now()";
   MysqL_query($query);

   // Tried this, but it doesn't work:
   echo "<img src='http://mysite.com/photos/image.jpg'>";
?>

解决方法:

如果您要使用这样的PHP脚本,则需要返回图像数据,而不仅仅是HTML图像标记.最简单的方法是这样的:

<?PHP
header("Content-Type: image/jpeg");
readfile("image.jpeg");

do_all_your_tracking_stuff();

请注意,这是首先返回图像数据,以便邮件客户端可以立即开始显示它,而不是等待SQL查询完成.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐