Отслеживание электронной почты - GMail
Я создаю собственную систему отслеживания электронной почты для отслеживания электронной почты. Я смог определить каждого клиента электронной почты, который они используют, используя http-реферер, но по какой-либо причине 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, что это уже сделано, я просто не хочу платить за их обслуживание, и я хочу сделать это внутри.
Спасибо всем за рекомендации по внедрению.
Update
Просто подумал, что я обновлю этот вопрос и сделаю его более ясным в свете щедрости.
Я хотел бы узнать, когда пользователь открывает мое письмо при отправке в почтовый ящик GMail. Предположим, у меня есть обычное прозрачное отслеживание изображений, и пользователь не блокирует изображения.
Я хотел бы сделать это с помощью одного запроса и сведений о заголовке, которые я получаю при запросе прозрачного изображения.
Ответы
Ответ 1
Запрошены ли ваши изображения с помощью HTTP или HTTPS?
Если да, то проблема.
HTTPS- > HTTP-рефералы не утечка заголовка рефератора (HTTP_REFERER).
Если вы вставляете образ, размещенный в HTTP, в электронном письме, запрошенном с HTTPS-страницы, он не будет отправлять реферер. (HTTP-страницы, запрашивающие HTTPS, однако, отправляйте референт). Решение заключается в том, чтобы вставить изображение в виде HTTPS. Я протестировал его, и, конечно же, защищенные изображения HTTPS действительно отправляют Referrer.
Один из способов, по которому Gmail мог блокировать информацию о реферере по загруженным изображениям по умолчанию, - это использовать политику реферера, которая поддерживается на большинстве современных браузеры. (По состоянию на 2011 год они не применяли такую политику.)
См. приведенный ниже снимок экрана встроенного изображения, которое генерируется динамически с помощью HTTP REFERER запроса:
![enter image description here]()
Ответ 2
Сделайте ссылку что-то вроде http://www.example.com/image.jpg?h=8dh38dj
image.jpg - это файл PHP, а 8dh38dj - хэш сообщения электронной почты, в которое вы указали ссылку. Когда пользователь запрашивает файл, ваш PHP script получит "8dh38dj", посмотрите, что в вашей базе данных и найдите соответствующий адрес электронной почты. Разберите домен, то есть gmail.com, из [email protected], и вы знаете, что он из gmail. Чтобы файлы jpg выполнялись как PHP, используйте AddHandler в php