Отслеживание электронной почты – GMail

Я создаю свою собственную систему отслеживания электронной почты для отслеживания электронной почты. Я смог определить каждого почтового клиента, которого они используют, используя http referrer, но по какой-то причине GMAIL не отправляет HTTP_REFERRER вообще!

Поэтому я пытаюсь найти другой способ идентификации, когда gmail запрашивает прозрачный образ с моего сервера. Я получаю следующие заголовки print_r($_SERVER); :

 DOCUMENT_ROOT = /usr/local/apache/htdocs GATEWAY_INTERFACE = CGI/1.1 HTTP_ACCEPT = */* HTTP_ACCEPT_CHARSET = ISO-8859-1,utf-8;q=0.7,*;q=0.3 HTTP_ACCEPT_ENCODING = gzip,deflate,sdch HTTP_ACCEPT_LANGUAGE = en-GB,en-US;q=0.8,en;q=0.6 HTTP_CONNECTION = keep-alive HTTP_COOKIE = __utmz=156230011.1290976484.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __utma=156230011.422791272.1290976484.1293034866.1293050468.7 HTTP_HOST = xx.xxx.xx.xxx HTTP_USER_AGENT = Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US) AppleWebKit/534.10 (KHTML, like Gecko) Chrome/8.0.552.237 Safari/534.10 PATH = /bin:/usr/bin QUERY_STRING = i=MTA= REDIRECT_STATUS = 200 REMOTE_ADDR = xx.xxx.xx.xxx REMOTE_PORT = 61296 REQUEST_METHOD = GET 

В этом списке есть что-то полезное? Или есть что-то еще, что я могу сделать, чтобы на самом деле получить HTTP-реферер, если не так, как другим ESP удается определить, использовалась ли gmail для просмотра электронной почты ?

Кстати, я ценю это, если мы сможем сдержать то, является ли это этическим или не так много ESP, это уже сделано, я просто не хочу платить за их обслуживание, и я хочу сделать это внутренне.

Спасибо всем за любые рекомендации по внедрению.

Обновить

Просто подумал, что я уточню этот вопрос и сделаю его более ясным в свете щедрости.

Я хотел бы узнать, когда пользователь открывает мое письмо при отправке в почтовый ящик GMail. Предположим, у меня есть обычное прозрачное отслеживание изображений, и пользователь не блокирует изображения.

Я хотел бы сделать это с помощью одного запроса и сведений заголовка, которые я получаю, когда запрашивается прозрачное изображение.

Запрошены ли ваши изображения с помощью HTTP или HTTPS?

Это проблема.

HTTPS-> HTTP-адреса не утечка HTTP_REFERER. Таким образом, если вы вставляете HTTP-хостинг изображения в электронное письмо, загружаемое в HTTPS, оно не будет отправлять реферер. (HTTP-> HTTPS, однако, do). Таким образом, решение заключается в размещении изображения в виде HTTPS. Я протестировал его, и, конечно же, защищенные HTTPS-изображения действительно утечки HTTP Referrer.

Таким образом, Gmail не может блокировать информацию о реферере по загруженным изображениям по умолчанию, поскольку Gmail – это не тот, кто делает запросы, клиент. Единственный способ сделать это – использовать функцию HTML5 'noreferer' , которая не поддерживается широко (я думаю, что последние браузеры на базе WebKit могут быть единственными на момент написания этой статьи).

См. Приведенный ниже снимок экрана встроенного изображения, которое генерируется динамически с помощью HTTP REFERER запроса: введите описание изображения здесь

Сделайте ссылку примерно так: http://www.example.com/image.jpg?h=8dh38dj

image.jpg – это файл PHP, а 8dh38dj – хэш сообщения электронной почты, в которое вы указали ссылку. Когда пользователь запрашивает файл, ваш PHP-скрипт получит «8dh38dj», посмотрите его в своей базе данных и найдите соответствующее письмо. Разберите домен, т.е. gmail.com, от example@gmail.com, и вы знаете, что он из gmail. Чтобы файлы jpg выполнялись как PHP, используйте AddHandler в php