TL; DR: мобильное приложение GMail, по-видимому, автоматически открывает несколько кэшированных пикселей отслеживания, если в папке входящих сообщений существует несколько писем с одним и тем же средством отслеживания изображений (конечно, с другим идентификатором).
У меня естьpixel img tracker со следующим 1x1 пикселем:
<img src='https://example.com/tracker.php?trackerID=[uniqueID]' alt='' />
Где «[uniqueID]» является уникальным для электронной почты и пользователя.
Моя страница tracker.php имеет следующее:
// URL to the image
$graphicAddress = "https://example.com/image.png";
// Size of the image for headers
$fileSize = filesize("image.png");
header('Pragma: public');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Cache-Control: private', false);
header('Content-Disposition: attachment; filename="image.png"');
header('Content-Transfer-Encoding: binary');
header ('Content-Type: image/png');
header('Content-Length: '.$fileSize);
readfile($graphicAddress);
// Update MySQL (this isn't the function, but it's an example)
updateSQL($trackerID,$date);
Все обновляется и работает точно так, как задумано на рабочем столе, кроме моего мобильного приложения Gmail (Android).В мобильном приложении оно обновляет несколько трекеров, ЕСЛИ у меня в почтовом ящике есть несколько электронных писем с трекером изображений.
Похоже, gmail обновляет электронное письмо выше и ниже электронного письма, на которое я нажимаю.Я посмотрел на отметку времени, когда происходит обновление, и оно почти мгновенно.
Я думал, что смогу запустить проверку на дату и время, но если у меня в почтовом ящике 10 отслеживаемых писем, они открываются с интервалом в несколько секунд.
Опять же, отлично работает на рабочем столе, без исключений.Прекрасно работает на мобильных устройствах - ЕСЛИ У меня только один адрес электронной почты с трекером в папке входящих сообщений.
Я попытался проверить IP-адрес, надеясь, что мой клик с моего телефона будет отличаться отте, которые Google, кажется, открывает самостоятельно, но IP-адреса случайны.
Так что я не могу фильтровать по IP или метке времени.