Подтверждение получения по электронной почте - PullRequest
1 голос
/ 05 февраля 2009

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

Ответы [ 6 ]

9 голосов
/ 05 февраля 2009

Ни одно из предложенных выше предложений не будет работать 100% времени. Многие почтовые клиенты будут (справедливо) отказываться загружать чужие изображения, отрицая полезность «веб-ошибок». Они также откажутся (или не смогут) вернуть «квитанции» в стиле Outlook. И многие почтовые серверы либо намеренно (чтобы обуздать спам), либо по ошибке (из-за неправильной конфигурации) не будут возвращать отказов сообщения. Или, возможно, чрезмерно агрессивный спам-фильтр съел ваше сообщение, поэтому оно пришло, но никогда не было замечено конечным пользователем. Кроме того, для того, чтобы достичь конечного пользователя или отскочить от почты, требуются часы или дни, и как вы соотносите эти поздние уведомления или отказов с почтой, отправленной вами 4 дня назад?

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

5 голосов
/ 05 февраля 2009

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

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

Это приведет к выводу некоторого кода из вашего приложения, который сканирует почтовый ящик и хранит некоторую информацию о состоянии о количестве контактов и т. Д. И пытается выполнить повторную отправку.

В зависимости от того, как вы генерируете письма, вы можете упростить этот процесс: генерируйте уникальный адрес для каждого отдельного письма, которое вы отправляете. Вы можете использовать bounces+1234@example.com, например.

Многие SMTP-серверы позволяют использовать деталь после + в качестве параметра для внешнего скрипта и т. Д.

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

С помощью вышеприведенного трюка вы можете надежно сопоставлять исходящие сообщения с входящими отскоками.

3 голосов
/ 05 февраля 2009

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

Есть несколько способов узнать, когда пользователь действительно прочитал письмо.

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

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

2 голосов
/ 05 февраля 2009

Я работал над системой массовой рассылки в прошлой жизни. Доставляемость была одной из наших основных проблем. Наиболее распространенной причиной недоставленных писем является спам-фильтр.

Вот шаги, которые мы предприняли, чтобы обеспечить самые высокие показатели доставки:

  • Мы использовали Обратный путь , чтобы проверить электронную почту на предмет такого спам-запаха.
  • Если вы отправляете много писем, вам нужно убедиться, что ваш SMTP-сервер не занесен в черный список.
  • Напомните своим пользователям, чтобы они добавляли ваш адрес FROM в список "надежных отправителей".
  • Используйте систему, которая собирает возвратные сообщения и использует их для очистки вашего списка рассылки. Это также поможет вам не попадать в черные списки.
  • Если электронные письма имеют решающее значение, рассмотрите возможность отправки им запроса на возврат-получение. Это на самом деле ничего не гарантирует, но может дать вам некоторые метрики по фактической доставляемости.
1 голос
/ 05 февраля 2009

Не очень хороший способ определить, действительно ли письмо пришло в их почтовый ящик, вы можете только подтвердить, что отправили его. Приложите квитанцию, которая сообщит вам, когда они ее откроют?

0 голосов
/ 05 февраля 2009

Microsoft Outlook предоставляет аналогичную функциональность, однако она основана на почтовом клиенте. Я не уверен, что другие клиенты, такие как Thunderbird, поддерживают это.

Однако в протоколах нет ничего, что определяло бы квитанции.

Один из возможных вариантов: отправить ссылку на веб-страницу создания и отслеживать эту страницу на предмет совпадений Это создает свои проблемы: конфиденциальность и т. Д.

...