Php 跟踪电子邮件会以真实图像打开
我正在考虑将电子邮件跟踪添加到我为小型客户企业构建的web服务中。我正计划做嵌入式图像解决方案(参考我服务器上的图像)-除非其他人有更好的方法-但是当我使用引用我服务器上PHP页面的图像标记时,它会加载“断开的图像”图标。如何使此图像有效? 以下是邮件PHP页面的代码:Php 跟踪电子邮件会以真实图像打开,php,image,email,tracking,Php,Image,Email,Tracking,我正在考虑将电子邮件跟踪添加到我为小型客户企业构建的web服务中。我正计划做嵌入式图像解决方案(参考我服务器上的图像)-除非其他人有更好的方法-但是当我使用引用我服务器上PHP页面的图像标记时,它会加载“断开的图像”图标。如何使此图像有效? 以下是邮件PHP页面的代码: <?php $body = "<html>Hello there!". "<img src='http://mysite.com/track.php?name=bob' />".
<?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'>";
?>
简单的谷歌搜索就可以了
header('Content-Type: image/jpeg');
readfile('path');
你真的只需要运用你的直觉:你在图像标签中链接到什么?您可以链接到图像源。实际的图像文件。你在代码中做什么?用另一个图像源回显HTML代码。但是客户端浏览器需要的是图像,而不是更多的HTML代码。如果要使用这样的PHP脚本,它需要返回图像数据,而不仅仅是HTML图像标记。最简单的方法是:
<?php
header("Content-Type: image/jpeg");
readfile("image.jpeg");
do_all_your_tracking_stuff();
我试过谷歌。。。你用的是什么短语?还有,这是怎么回事?“Php输出图像”。在您向用户发送任何数据之前,标题将被删除。readfile基本上会将文件输出到浏览器(同样,源链接应该是图像文件的,
。readfile会将文件内容“打印”到浏览器)。readfile放在哪里并不重要,但从技术上讲,您应该先发送数据,以便客户端可以加载它(如有可能,脚本标记最好放在正文后面),所有这些行是否都会放在track.php
文件中@黄昏乌夫