Есть ли способ узнать, открыл ли пользователь почту? - PullRequest
0 голосов
/ 04 июня 2009

мы строим модуль рассылки, и отправить письмо членам. Окружающая среда - ЛАМПА. Есть ли способ узнать, открывал ли участник почту? я слышу о пут-образе, если источник 'php', какой самый лучший способ?

Ответы [ 5 ]

4 голосов
/ 04 июня 2009

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

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

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

3 голосов
/ 04 июня 2009

Нет надежного способа сделать это, так как вы не тот, кто контролирует почтовый клиент. Многие люди достаточно серьезно относятся к своей конфиденциальности, чтобы не допустить чтения чеков, веб-маяков и всех других приемов, которые можно использовать для обнаружения чтения (люди могут отключить чеки чтения, заблокировать изображения, предотвратить нежелательные исходящие соединения и т. Д.).

Это мое мнение, конечно, но я верю, что вы подходите к проблеме неправильно. Вместо того, чтобы заставлять пользователя сообщать вам, прочитали ли они письмо, просто сделайте это стоящим. Очевидно, что вам полезно иметь эту информацию (в противном случае зачем это делать?), Чтобы вы поделились этим преимуществом и убедились, что это решение пользователя.

Таким образом, вы превращаете отношения из поля битвы в партнерство (выигрыш / выигрыш).

3 голосов
/ 04 июня 2009

Да, существует стандартный механизм ( RFC 3798 ), который называется чеком чтения. Он реализован всеми современными почтовыми клиентами, и пользователь может по своему выбору отправлять (или не отправлять) квитанции.

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

EDIT:

Должно быть так, как показано ниже (используется встроенная функция PHP mail ):

mail("foo@foo.com", "Let me know if you get this", "Important message", "Disposition-Notification-To: sender@sender.com\r\n");
2 голосов
/ 04 июня 2009

Обычный способ проверить, было ли прочитано письмо, - это веб-маяк , который обычно представляет собой небольшое невидимое изображение размером 1x1px, загружаемое с вашего сервера, которое может отслеживать, когда изображение было загружено и поэтому письмо было прочитано.

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

1 голос
/ 04 июня 2009

В каждом электронном письме есть изображение с уникальным именем, соответствующее учетной записи пользователя (или строке БД). Когда это изображение загружено или доступно, вы можете видеть, какой пользователь открыл электронное письмо. Это зависит от пользователя, получающего электронные письма HTML все же.

...