использовать PHP, чтобы знать, если письмо было отправлено открытое


мне очень любопытно знать, как я могу знать, если письмо, которое я отправил, было открыто получателем. Там, как знать, с помощью PHP или какие-либо другие язык ?

 2
Author: Zuul, 2015-04-02

2 answers

Disposition-Notification-To -

То, что я рекомендую вам сделать, это добавить это в header ваш e-mail:

Disposition-Notification-To: [email protected]

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

Web Bugs

, Вы можете сделать это с помощью изображения невидимым в тело электронной почте, который вызывает php-скрипт на вашем сервере, или же, согласно предложению @Bacco, воспользоваться изображения и законных почте (logo, footer, etc):

<img src="http://seusite.com.br/email_track.php?msgId=01abc02" />

, То в сценарий, вы делаете что-то вроде:

if ( $_GET["msgId"] ) {
    $query = "update sent_mail set visualized_flag = 1 where mail_id = :id";
    $stmt = $conn->prepare($query);

    $stmt->bindParam(":id", $_GET["mailId"]);

    $stmt->execute();
    ...
}

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

Кроме того, вы можете найти некоторые веб-сервисы, которые делают это, как Get Notify.

 8
Author: Eduardo Silva, 2017-04-13 12:59:39

Другой способ был бы с помощью javascript, что бы отправить POST или GET для URL-адреса назначения, так что тело электронной почты нес. Пример:

<html>
  <head>
     <script src="https://code.jquery.com/jquery-1.9.1.min.js"></script>
     <script>
           $ . post ( 'http://seusite.com.br/email_track.php?msgId=01abc02');      
     </script>
  </head>
  <body>
     //Toda sua mensagem aqui.
  </body>
</html>
 0
Author: Emerson Inacio, 2019-06-04 00:30:37