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

URL in email body is being checked before email is sent

我在尝试创建电子邮件验证时遇到问题 link。我在电子邮件正文中添加了链接,当访问 url 时,它会使用 url 中的参数验证 emial。但是,发送电子邮件时,它会自动访问 link 并进行验证。有谁知道它为什么这样做,或者我做错了什么?

这是我的代码

$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);

这应该将数据库中的字段设置为 "Verified"。但是,在发送电子邮件时,在用户甚至可以单击 link 之前,该字段已设置为 "Verified"。这给我的印象是有东西事先访问了 link。任何见解将不胜感激。

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

您可以向验证页面添加 recaptcha 以确保它是由人工访问的,而不是某些垃圾邮件过滤机器人。