Пожалуй, каждый – хотя бы раз в жизни – хотел узнать, прочитано ли письмо. Типичные ситуации:
- Откликнулись на интересную вакансию. Отправили резюме, портфолио и сопроводительное письмо, а в ответ тишина. Полная неопределенность.
- Участвуете в творческом конкурсе. Сроки поджимают, скоро будут определять победителя. При этом вообще непонятно, смотрели вашу работу или нет.
- Отправили прайс-лист / медиакит по e-mail. Хотите позвонить потенциальному клиенту вскоре после того, как он ознакомится с коммерческим предложением. Не знаете, когда это произойдет.
Уведомление о прочтении – не вариант: пользователь может отказаться отправлять подтверждение, при этом прочитать письмо и ничего не ответить.
Сервисы email-маркетинга и постмастеры, конечно, дадут необходимую статистику, но они актуальны только при массовой рассылке с собственного домена. Обычному пользователю все это ни к чему.
Таким образом, остается два способа узнать, прочитано ли письмо на почте «Яндекса» / Mail.Ru / Gmail.
1. Использовать готовые решения: специальные сервисы и расширения
Есть ряд сервисов и браузерных расширений, позволяющих отследить, открыл ли адресат ваше письмо. Это самый простой путь, вот только, к сожалению:
- Многие бесплатные продукты устарели / работают некорректно.
- За современные и удобные решения надо платить, иначе – ограничения и реклама.
Я изучил три разных инструмента для email-трекинга. Среди них:
- GetNotify , который не обновлялся с 2012 года.
Принцип работы: чтобы узнать, прочитано ли письмо, нужно отправить его по адресу вида [email protected]. Затем сервис, очевидно, добавляет в контент скрытый код и перенаправляет письмо непосредственно адресату – [email protected]. Когда получатель открывает его, отправителю приходит уведомление на почту.
Все бы хорошо, но есть проблема с кодировкой, и ругается почтовая служба.
Письмо от GetNotify не вызывает доверия.
- Bananatag – красивый, но эффективный на 0 %.
По описанию Bananatag – отличное решение: 5 писем в день бесплатно; подробная статистика; интеграция с Gmail, Outlook и мобильными email-клиентами.
По факту – ни одно прочитанное письмо не отобразилось в дашборде. Хотя я пробовал писать и на «Яндекс», и на «Мейл». Сервис даже не смог сообщить, прочитано ли письмо, отправленное самому себе на Gmail 🙂
Отправил и прочел 5 писем – у bananatag ноль эмоций.
- MailTrack для Gmail, с которым все ОК, кроме саморекламы.
Иногда отправителю необходимо узнать, прочитано ли его письмо с электронной почты получателем. В особенности, когда отправляются важные документы, отчёты, конфиденциальные данные или срочная новостная информация (просьба, событие, извещение и т.д.).
Эта статья расскажет вам, как узнать, прочитано ли письмо электронной почты, используя штатные опции популярных почтовых сервисов и сторонние программы.
Настройки в e-mail
Mail.ru
1. Нажмите «Написать письмо».
2. Заполните форму: введите адрес получателя, тему, текст письма.
3. В графе «Тема» клацните иконку «письмо», чтобы включить опцию уведомления.
Если необходимо получить сообщение о том, что на отправленное письмо нет ответа, клацните кнопку «звонок» и укажите период времени, по истечении которого нужно уведомить.
После оформления письма в форме нажмите опцию «Уведомить». Она находится под полем текста, по правую сторону от кнопки «Отправить».
Так же, как и на Mail.ru, вы можете настроить уведомление, если ответ не будет получен в указанный срок:
- нажмите «Уведомить»;
- в ниспадающем меню выберите период (1 час, 12 часов и т.д.).
Сторонние сервисы
Выполняет мониторинг отправленных сообщений с Gmail и Outlook. Вся информация о статусах электронных посланий после установки дистрибутива размещается в специальной вкладке.
Сервис предоставляется в двух тарифных планах: платный и бесплатный. Коммерческая версия наделена расширенными функциями мониторинга.
Русскоязычный сервис от компании StarForce. Сообщает пользователю дату и время открытия письма, IP-адрес получателя, а также защищает отправляемую информацию от утечки (открытия вложений, копирования). Поддерживает все популярные почтовые сервисы.
Bananatag.com
Интегрирует в профиль почты кнопку «Track & Send». После её нажатия программа сервиса вставляет в текст письма невидимую картинку размером 1x1 пиксель. Ссылка на неё автоматически формируется и привязывается к вашему аккаунту. При помощи неё осуществляется мониторинг отправленного письма (получено, открыто оно или нет).
На офсайте выберите используемую платформу:
- Gmail;
- Outlook;
- Other Email Clients (другие почтовые клиенты).
Установите аддон сервиса в браузер. После подключения его опции появятся в профиле e-mail.
Выберите одно из выше рассмотренных решений и осуществляйте мониторинг отправленной корреспонденции. Удобной вам работы в e-mail!
мистер Олимпия 25 октября 2012 в 22:02Как узнать, что письмо прочитали
- Чулан *
При создании информационной рассылки для своей компании я озаботился о том, прочитали ли мои подписчики письма. На емайл счетчик не поставишь, скрипты никакие не выполнишь, поэтому нужно искать выход. Самый простой способ - попросить пользователя перейти по ссылке - по понятным причинам может на сработать. Ссылка «отписаться» сработает если пользователю это неинтересно, т.е. получим информацию не совсем ту, что нужна. Выход напросился сам собой.
Если в письме используются какие-либо элементы с Вашего сайта, то нужно просто посчитать количество их скачиваний. Почтовые клиенты весьма примитивны и можно рассчитывать лишь на скачивание изображений. Следовательно делаем скрипт, который выдает простую белую картинку:
$image = imagecreatetruecolor(10,10) or die("Cannot create image"); imagefill($image, 0, 0, 0xFFFFFF); header("Content-type: image/png"); imagepng($image); imagedestroy($image); ?>
Проверяем - действительно картинка генерируется. Однако теперь нужно определить уникальный ли посетитель. Простой способ, поставив в письме тег таким образом:
где - это уникальный идентификатор подписчика (MD5 хеш от емайла). Внедряем в html страницу, проверяем в браузере - отображается. Теперь запишем статистику в базу данных:
// Подключаемся к базе данных
$dbh=mysql_connect ("localhost", "site_textpat", "lynksru")
or die ("I cannot connect to the database because: " . mysql_error());
//Выбираем базу
mysql_select_db ("site_textpat");
//Обновляем запись, инкрементируем количество скачиваний
$query="UPDATE `site_textpat`.`bab_pm_subscribers`
SET readed=readed+1
WHERE `bab_pm_subscribers`.`unsubscribeID` ="$i" LIMIT 1" ;
//Выполняем запрос.
$result = mysql_query($query,$dbh)
or die("Invalid query: " . mysql_error());
?>
Теперь при каждом скачивании картинки в базе данных увеличивается число скачиваний для заданного идентификатора. Формируем письмо, отправляем для проверки. И тут оказывается, что тот же Gmail просто-напросто игнорирует такие изображения. Нужен какой-то способ интерпретировать стандартные ссылки на картинки как обращения к скрипту. Конечно можно наделать кучу скриптов, но это не рационально.
На помощь приходит mod_rewrite для apache. Чтобы распознать ссылку на картинку и подменить ее ссылкой на скрипт нужно в каталоге скрипта создать файл.htaccess такого вида:
Первой инструкцией включаем mod_rewrite, второй регулярным выражением вычленяем из ссылки имя png файла, без расширения. Имя может
- состоять из цифр и букв: [:alnum:]
- иметь любое их количество: [[:alnum:]]+
- имя запоминаем: ([[:alnum:]]+)
- конец расширение будет.png: ([[:alnum:]]+).png
//Создаем изображение $image = imagecreatetruecolor(10,10) or die("Cannot create image"); //заливаем белым imagefill($image, 0, 0, 0xFFFFFF); //в заголовке указываем что шлем png изображение header("Content-type: image/png"); //выводим и уничтожаем imagepng($image); imagedestroy($image); // Подключаемся к базе данных $dbh=mysql_connect ("localhost", "site_textpat", "lynksru") or die ("I cannot connect to the database because: " . mysql_error()); //Выбираем базу mysql_select_db ("site_textpat"); //Обновляем запись, инкрементируем количество скачиваний $query="UPDATE `site_textpat`.`bab_pm_subscribers` SET readed=readed+1 WHERE `bab_pm_subscribers`.`unsubscribeID` ="$i" LIMIT 1" ; //Выполняем запрос. $result = mysql_query($query,$dbh) or die("Invalid query: " . mysql_error()); ?>
Теперь изображения в письма можно вставлять обычным способом:
mod_rewrite сам изменит ссылку и передаст управление нашему скрипту. По крайней мере Gmail, Outlook и даже OpenOffice Writer корректно распознали и отобразили изображение, а счетчик прочтений исправно инкрементировался.
Описанный метод можно использовать практически везде, где нужно посчитать количество открытий html структур, ведь изображения поддерживаются почти везде.
1. Основной метод контроля доставки - слежение за ошибками отправки (bounce). Ошибка чаще всего дается непосредственно в SMTP-сессию. В некоторых случаях сервер получателя принимает письмо, но в дальнейшем формирует сообщение о невозможности доставки (NDR).
По стандартам, выдача сообщения о невозможности доставки в SMTP-сессию или отправка NDR являются обязательными, если ваше письмо прошло авторизацию (SPF и/или DKIM) - вы можете быть уверены, что получите баунс в SMTP-сессию или NDR если письмо не будет доставлено практически на 100%. Поэтому если на письмо в разумное время не получено отлупа, можно считать его доставленным. Сообщения о невозможности доставки идут на адрес отправителя SMTP-конверта (envelope-from). Чтобы точно знать, на какой адрес какое письмо не было доставлено, можно для каждого отправляемого письма формировать уникальный envelope-from.
2. Есть расширение SMTP которое называется delivery status notification
https://tools.ietf.org/html/rfc3461
при отправке письма можно запросить, чтобы подтверждение доставки письма в ящик или на сервер получателя, не поддерживающего DSN пришло в явном виде. Подтверждения формирует MTA без участия пользователя. Поддерживается не всеми (например, postfix поддерживает, exim нет).
3. Есть нестандартный заголовок Return-Receipt-To, который работает примерно так же как DSN. Но поскольку он нестандартный, его поддержка крайне ограничена.
4. Есть стандартный (RFC 3798) заголовок Disposition-Notification-To упомянутый выше, это не уведомление о доставке, а уведомление о прочтении. Запрос на это уведомление как правило показывается пользователю и требует его подтверждения. Не надо использовать этот заголовок, если вы не хотите, чтобы вас прокляли.
5. Пиксель в письме - не поможет проверить доставляемость, но в некоторых случаях позволить узнать что письмо было прочитано.
6. (привет модератору). Таки есть службы типа postmaster.mail.ru и postmaster.yandex.ru , которые позволяют отслеживать доставляемость писем получателям данных сервисов, а это порядка 70-80% всех получателей. В данных службах можно смотреть статистику по доставляемости писем, попаданию в папку спам, действия с письмами (чтение, помечания спамом, удаления с прочтением/без прочтения). Причем можно задавать категории писем через специальный заголовок или селекторы DKIM и получать статистику раздельно по категориям писем. Это позволяет получить информацию даже по отдельному письму, задав ему отдельную категорию. Но делать так массово не стоит.
Это основной источник данных по попаданию в спам / удалению без прочтений, etc.
Немного не в тему, но может помочь:
7. Можно (и нужно, если вы организуете массовые рассылки) завести ящики-ловушки на разных сервисах, добавлять их в рассылки и отслеживать доставляемость писем до этих ящиков, в частности попало ли письмо в inbox.
8. Почти все крупные сервисы поддерживают
При создании информационной рассылки для своей компании я озаботился о том, прочитали ли мои подписчики письма. На емайл счетчик не поставишь, скрипты никакие не выполнишь, поэтому нужно искать выход. Самый простой способ - попросить пользователя перейти по ссылке - по понятным причинам может на сработать. Ссылка «отписаться» сработает если пользователю это неинтересно, т.е. получим информацию не совсем ту, что нужна. Выход напросился сам собой.
Если в письме используются какие-либо элементы с Вашего сайта, то нужно просто посчитать количество их скачиваний. Почтовые клиенты весьма примитивны и можно рассчитывать лишь на скачивание изображений. Следовательно делаем скрипт, который выдает простую белую картинку:
$image = imagecreatetruecolor(10,10) or die("Cannot create image"); imagefill($image, 0, 0, 0xFFFFFF); header("Content-type: image/png"); imagepng($image); imagedestroy($image); ?>
Проверяем - действительно картинка генерируется. Однако теперь нужно определить уникальный ли посетитель. Простой способ, поставив в письме тег таким образом:
где - это уникальный идентификатор подписчика (MD5 хеш от емайла). Внедряем в html страницу, проверяем в браузере - отображается. Теперь запишем статистику в базу данных:
// Подключаемся к базе данных
$dbh=mysql_connect ("localhost", "site_textpat", "lynksru")
or die ("I cannot connect to the database because: " . mysql_error());
//Выбираем базу
mysql_select_db ("site_textpat");
//Обновляем запись, инкрементируем количество скачиваний
$query="UPDATE `site_textpat`.`bab_pm_subscribers`
SET readed=readed+1
WHERE `bab_pm_subscribers`.`unsubscribeID` ="$i" LIMIT 1" ;
//Выполняем запрос.
$result = mysql_query($query,$dbh)
or die("Invalid query: " . mysql_error());
?>
Теперь при каждом скачивании картинки в базе данных увеличивается число скачиваний для заданного идентификатора. Формируем письмо, отправляем для проверки. И тут оказывается, что тот же Gmail просто-напросто игнорирует такие изображения. Нужен какой-то способ интерпретировать стандартные ссылки на картинки как обращения к скрипту. Конечно можно наделать кучу скриптов, но это не рационально.
На помощь приходит mod_rewrite для apache. Чтобы распознать ссылку на картинку и подменить ее ссылкой на скрипт нужно в каталоге скрипта создать файл.htaccess такого вида:
Первой инструкцией включаем mod_rewrite, второй регулярным выражением вычленяем из ссылки имя png файла, без расширения. Имя может
- состоять из цифр и букв: [:alnum:]
- иметь любое их количество: [[:alnum:]]+
- имя запоминаем: ([[:alnum:]]+)
- конец расширение будет.png: ([[:alnum:]]+).png
//Создаем изображение $image = imagecreatetruecolor(10,10) or die("Cannot create image"); //заливаем белым imagefill($image, 0, 0, 0xFFFFFF); //в заголовке указываем что шлем png изображение header("Content-type: image/png"); //выводим и уничтожаем imagepng($image); imagedestroy($image); // Подключаемся к базе данных $dbh=mysql_connect ("localhost", "site_textpat", "lynksru") or die ("I cannot connect to the database because: " . mysql_error()); //Выбираем базу mysql_select_db ("site_textpat"); //Обновляем запись, инкрементируем количество скачиваний $query="UPDATE `site_textpat`.`bab_pm_subscribers` SET readed=readed+1 WHERE `bab_pm_subscribers`.`unsubscribeID` ="$i" LIMIT 1" ; //Выполняем запрос. $result = mysql_query($query,$dbh) or die("Invalid query: " . mysql_error()); ?>
Теперь изображения в письма можно вставлять обычным способом:
mod_rewrite сам изменит ссылку и передаст управление нашему скрипту. По крайней мере Gmail, Outlook и даже OpenOffice Writer корректно распознали и отобразили изображение, а счетчик прочтений исправно инкрементировался.
Описанный метод можно использовать практически везде, где нужно посчитать количество открытий html структур, ведь изображения поддерживаются почти везде.