在发送电子邮件之前,正在检查电子邮件正文中的URL


URL in email body is being checked before email is sent

我在创建电子邮件验证链接时遇到问题。我在电子邮件的正文中添加了link,当访问该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);

这应该将数据库中的字段设置为"已验证"。然而,当发送电子邮件时,在用户点击链接之前,该字段将设置为"已验证"。这给我的印象是有什么东西事先访问了链接。如有任何见解,我们将不胜感激。

可能是一个垃圾邮件过滤器,用于检查所有电子邮件中的链接。例如,gmail扫描所有电子邮件,查找指向恶意网站的链接。

您可以在验证页面中添加一个repatcha,以确保它是由人访问的,而不是一些垃圾邮件过滤机器人。