Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
阻止PHPMailer激活其发送的链接?_Php_Phpmailer - Fatal编程技术网

阻止PHPMailer激活其发送的链接?

阻止PHPMailer激活其发送的链接?,php,phpmailer,Php,Phpmailer,我正在开发一个使用PHPMailer构建和发送激活链接的应用程序。出于某种原因,PHPMailer似乎正在打开/访问它在构建过程中发送的链接。这将导致每个用户都被激活,无论电子邮件是否已发送 起初,我认为这是验证功能设置方式的问题,但我发现,如果我通过插入一个使其无效的字符或完全删除消息正文来中断PHPMailer发送的链接,用户不会过早激活。当然,这使得他们收到的链接毫无用处 以下是邮件的构建方式: $mail->From = EMAIL_VERIFICATION_FROM_EMAIL;

我正在开发一个使用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);

这里的方法正确吗?还是我忽略了一些奇怪的事情?

为什么不检查Web服务器上的访问日志,查看发出请求的主机?我怀疑这是PHPMailer的东西,更可能是电子邮件收件人出于某种原因点击了这些链接。是的,不是PHPMailer这么做,而是收件人端的某个东西。垃圾邮件/恶意软件检查器在将邮件传递到收件箱之前检查链接是很常见的。我见过赛门铁克的过滤器能做到这一点。你们都做到了——主机的垃圾邮件过滤器可以过滤所有东西。可能会转向批量邮寄。谢谢大家!!