Как убедиться, что E-mail прочитан?

Привет! Сегодня на ум пришла идея как проверить, прочитал ли собеседник сообщение электронной почты или нет.

“- Постой! – скажете вы, – так ведь есть же специальный флаг уведомления о прочтении!”. Всё верно, такая функция заложена, только вот действует она селективно. Собеседник, при просмотре сообщения через веб-интерфейс, увидит нечто подобное:

То есть подтверждение прочтения отправиться только с его согласия. Ну и что мешает нашему недобросовестному собеседнику проигнорировать эту кнопку и “морозиться” дальше, делая вид, что он ничего не получал? У меня возникла идея получше.

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

Принцип такой: мы включим в письмо какой-либо элемент, расположенный по удалённой ссылке, ведущей на подконтрольный сервер и будем мониторить журнал веб-сервера на предмет обращения к этому ресурсу. Если немного запутанно, то сейчас покажу на практике.

Сформируем следующее письмо:

Письмо с картинкой

Нетрудно заметить, мы вложили в письмо изображение, в качестве адреса указали ссылку, ведущую на наш сайт, запрашивающую картинку img.png?12345 (12345 – это некий параметр, здесь можно указать всё что угодно, например какой-нибудь хеш, если планируется различать письма от разных абонентов.. Этот параметр мы ещё увидим). Размер изображения, кстати, 1х1 пиксел. Оно на сервере не существует, поэтому отдаваться будет 404 код.

В момент формирования письма сразу увидим несколько обращений на наш URL. Пока на них не обращаем внимания, это признак того, что всё работает.

Для примера я отправлю письмо себе. Вот что увидим:

Скорее открываем письмо..

Ничего противозаконного не видно, как планировалось, нас игнорируют… но мы смотрим в логи веб-сервера и видим там:

Некто с IP адреса 188.93.56.130 запросил ресурс /img.png?12345. Но мы-то знаем, что параметр 12345 мы отправляли некому Мистеру Икс, так что письмо он прочёл.

Правда некоторые почтовые клиенты распознают прикреплённое изображение некорректно:

Но тем не менее, при клике на проблемное вложение всё-таки пытаются запросить ресурс с нашего веб-сайта, где факт прочтения успешно детектируется. Причём IP-адрес уже непосредственно пользователя, а не Mail.Ru-шный, как в случае с веб-интерфейсом.

Да, этот способ не идеален и работает хорошо в случае просмотра писем через веб-интерфейс, но сам подход может оказаться полезен. Точно так же можно мониторить клики по ссылкам. Например абоненту в WhatsApp, который отключил все уведомления о прочтении. По ссылке он всё-таки кликнул и на сервере в логах засветился факт клика и его IP-адрес.

P.S. Здесь я рассказываю скорее не способ, а подход! Почему в письме это лучше всего – письмо как HTML-страница строится и включает в себя картинку. Поэтому при отображении все ресурсы запрашиваются у серверов автоматически.

Интересно? Поделись с другом
Litl-Admin.ru

Comments:

Comments: 2
  1. Сергей Маверик

    Если смотрит через веб, то хорошо, запрос отправится автоматически. А если через клиента, то несуществующая картинка не будет запрашиваться, пока мышкой не ткнёшь? Какое-то себе такое не очень средство ))

    1. litladmin (author)

      Тогда сделайте валидную картинку. Допустим логотип свой или подпись картинкой, загрузите на сервер. И в настройках логгирования конкретно на этот ресурс сделать access_log (т.к. картинка будет отдаваться с кодом 200) сделать логгирование в другой файл. И всё будет нормально!

Leave a Reply