我正在开发一个使用PHPMailer构建和发送激活链接的应用程序。出于某种原因,PHPMailer似乎打开/访问它在构建它们的过程中发送的链接。无论电子邮件是否已发送,这都会激活每个用户。
起初我认为这是验证功能设置方式的问题,但我发现如果我打破PHPMailer发送的链接(通过插入使其无效的字符或完全删除消息体) ),用户不会过早激活。当然,这使得他们收到的链接毫无用处。
以下是邮件的构建方式:
$mail->From = EMAIL_VERIFICATION_FROM_EMAIL;
$mail->FromName = EMAIL_VERIFICATION_FROM_NAME;
$mail->AddAddress($user_email);
$mail->Subject = EMAIL_VERIFICATION_SUBJECT;
mail->Body = EMAIL_VERIFICATION_CONTENT . EMAIL_VERIFICATION_URL . '/' . urlencode($user_id) . '/' . urlencode($user_activation_hash);
这里的方法是否正确?或者有什么奇怪的事情我忽略了吗?