использовать PHP, чтобы знать, если письмо было отправлено открытое
мне очень любопытно знать, как я могу знать, если письмо, которое я отправил, было открыто получателем. Там, как знать, с помощью PHP или какие-либо другие язык ?
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.
Другой способ был бы с помощью 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>