HTML-link werkt niet in Hotmail

Ik gebruik de functie mail() in PHP om een ​​html-mail te verzenden met deze html-inhoud:


http://localhost/#/confirm?key=$confirmationLink

De href wordt zo uitgevoerd in hotmail: http://localhost/#/confirm% 3fkey% 3df327e518193e515f7c8226a006d0bc5934 en werkt niet wanneer ik op de link klik.

It works fine in gmail, which outputs href as: http://localhost/#/confirm?key=ee9b70ca92c47210525743a4e7ab112535

Hoe kan het werken in Hotmail?

Dit is hoe ik de mail() functie gebruik:

$to = '[email protected]';
$from = '[email protected]';
$subject = 'blabla';
$message = <<
To get started please verify your account by clicking this link: 
http://localhost/#/confirm?key=$confirmationLink

</body> </html> EOD; $headers = "From: $from\r\n"; $headers .= "Content-type: text/html\r\n"; $mail = mail($to, $subject, $message, $headers);
0

1 antwoord

Blijkbaar codeert Hotmail de URL zodat je de URL moet decoderen wanneer een gebruiker weer bij je site komt. Ik denk dat je een AJAX-script (oorzaak van de hash in de URL) noemt en de parameters naar het server-side script stuurt - als dat het geval is, gebruik dan de decodeURI-functie van JavaScript en stuur dan alleen de URL-parameters. Hoe dan ook, het antwoord is: je moet de URL decoderen.

1
toegevoegd
Ik zal je instructies proberen!
toegevoegd de auteur Christian, de bron
De decodeURI werkte niet, maar bedankt dat je me op het goede pad hebt geleid. De javascript-opdracht: unescape (url) werkte.
toegevoegd de auteur Christian, de bron