我在尝试创建电子邮件验证链接时遇到问题。我在电子邮件的正文中添加了lin k,当访问该url时,它会使用url中的参数验证emial。但是,在发送电子邮件时,它会自动访问该链接并进行验证。有谁知道为什么会这样做,或者我做错了什么?
这是我的代码
$to = $_POST['email'];
$subject = "";
$headers = "From: email@example.com" . "\r\n";
$headers .= "Reply-To: email@example.com\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);
这应该将数据库中的字段设置为“已验证”。但是,当发送电子邮件时,该字段将设置为“已验证”,然后用户甚至可以单击该链接。这给我的印象是事先正在访问链接。任何见解将不胜感激。
答案 0 :(得分:0)
可能是垃圾邮件过滤器,用于检查所有电子邮件中的链接。例如,gmail会扫描所有电子邮件,查找恶意网站的链接。
您可以在验证页面中添加recaptcha,以确保人员访问它,而不是某些垃圾邮件过滤机器人。