Я использую следующие 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, хотя.