我使用的邮件()函数在php发送html邮件与这个html内容:
<a href="http://localhost/#/confirm?key=$confirmationLink">
http://localhost/#/confirm?key=$confirmationLink</a>
hotmail中的href输出如下所示:http://localhost/#/confirm%3fkey%3df327e518193e515f7c8226a006d0bc5934并且当我点击链接时不起作用。
它在gmail中工作得很好,它输出href:http://localhost//确认?关键= ee9b70ca92c47210525743a4e7ab112535
如何使它在Hotmail工作?
下面是我使用mail()函数的方法:$to = 'blbl@blblb.dk';
$from = 'contact@bla.dk';
$subject = 'blabla';
$message = <<<EOD
<html>
<body>
<pre>
To get started please verify your account by clicking this link:
<a href="http://localhost/#/confirm?key=$confirmationLink">http://localhost/#/confirm?key=$confirmationLink</a>
</pre>
</body>
</html>
EOD;
$headers = "From: $fromrn";
$headers .= "Content-type: text/htmlrn";
$mail = mail($to, $subject, $message, $headers);
显然Hotmail对url进行了编码,所以当用户回到你的网站时,你需要解码url。我认为您调用AJAX脚本(url中的哈希值的原因)并将参数发送到服务器端脚本-如果是这样,则使用JavaScript的decodeURI函数,然后才发送url参数。无论如何,答案是:你需要解码url