У меня возникла проблема при попытке создать ссылку для проверки электронной почты. Я добавляю lin k в тело письма, и когда этот URL посещается, он проверяет emial, используя параметры в URL. Однако, когда электронное письмо отправлено, оно автоматически посещает эту ссылку и проверяет ее. Кто-нибудь знает, почему он это делает, или что я делаю не так?
Вот мой код
$to = $_POST['email'];
$subject = "";
$headers = "From: [email protected]" . "\r\n";
$headers .= "Reply-To: [email protected]\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
$message = "<html><body><p>Here's a message</p>";
$message .= '<a href="http://www.example.com/verification.php?mv6e='.$encode.'&cv6v='.$verification.'">Click here to verify your application</a></body></html>';
mail($to, $subject, $message, $headers);
Это должно установить поле в базе данных на «Проверено». Однако, когда электронное письмо отправлено, в поле устанавливается значение «Проверено», прежде чем пользователь сможет даже щелкнуть ссылку. Который дает мне впечатление, что что-то посещает ссылку заранее. Любое понимание будет с благодарностью.
Может быть спам-фильтр, который проверяет ссылки во всех электронных письмах. Например, gmail сканирует все электронные письма на наличие ссылок на вредоносные веб-сайты.
Вы можете добавить Recaptcha на страницу подтверждения, чтобы убедиться, что ее посетил человек, а не какой-то бот для фильтрации спама.
Других решений пока нет …