PHP пиксель трекера не работает из почтового клиента - PullRequest
0 голосов
/ 22 апреля 2020

Я использую следующие PHP для создания GIF для отслеживания электронной почты:

ignore_user_abort(true);

// turn off gzip compression
if ( function_exists( 'apache_setenv' ) ) {
  apache_setenv( 'no-gzip', 1 );
}

ini_set('zlib.output_compression', 0);

// turn on output buffering if necessary
if (ob_get_level() == 0) {
  ob_start();
}


// removing any content encoding like gzip etc.
header('Content-encoding: none', true);


// return 1x1 pixel transparent gif
header("Content-type: image/gif");



echo "\x47\x49\x46\x38\x37\x61\x1\x0\x1\x0\x80\x0\x0\xfc\x6a\x6c\x0\x0\x0\x2c\x0\x0\x0\x0\x1\x0\x1\x2\x2\x1\x2\x44\x1\x0\x3b";


ob_flush();
flush();
ob_end_flush();

Это работает нормально, и когда я тестирую весь сценарий, я могу записать загрузку GIF в моей базе данных при просмотре в Safari. Однако, когда Ma c Mail просматривает GIF, страница вызывается, но действие DB не происходит. Я знаю, что вызывается страница GIF, потому что она регистрируется Apache. Ниже приведена одна запись из Интернета, за которой следует запись от Ма c Mail:

1.1.1.1.1 - - [22/Apr/2020:16:28:40 +0100] "GET /favicon.ico HTTP/1.1" 401 - "https://mysite1.com/tracker.html?id=5ea05fdce879d "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.4 Safari/605.1.15"
1.1.1.1.1 - - [22/Apr/2020:16:29:00 +0100] "GET /tracker.html?id=5ea05fdce879d HTTP/1.1" 401 - "-" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_2) AppleWebKit/605.1.15 (KHTML, like Gecko)"

Я попытался удалить код БД и просто включил функцию mail (), чтобы проверить, могу ли я получить отправленный электронная почта, но опять ничего. Как будто страница вызывается, но PHP не выполняется. Я не понимаю, как это могло случиться только с Ma c Mail, хотя.

...