Отслеживание электронной почты начинается с реального изображения

Я играю с идеей добавления отслеживания электронной почты к веб-сервису, который я создал для небольшого бизнеса клиента. Я планировал сделать решение встроенного изображения (со ссылкой на образ на моем сервере) – если у кого-то еще не будет лучшего метода, но когда я использую тег изображения, ссылающийся на страницу PHP на моем сервере, он загружает значок «сломанное изображение» , Как я могу сделать это действительным изображением?

Вот код для почтовой страницы PHP:

<?php $body = "<html>Hello there!". "<img src='http://mysite.com/track.php?name=bob' />". "</html>"; $subject = "Tracking on ".date('Ymd 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 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-запросов.

Простой поиск google работал бы …

 header('Content-Type: image/jpeg'); readfile('path'); 

Вам просто нужно использовать свою интуицию: на что вы ссылаетесь в теге изображения? Вы ссылаетесь на источник изображения. Фактический файл изображения. Что вы делаете в коде? Повторение кода HTML с другим источником изображения. Но клиентский браузер ожидает изображение, а не больше кода HTML.