Bonjour,
J'ai un petit problème avec l'affichage des caractères dans un lien.
Je m'explique. J'envoie un mail pour la confirmation d'inscription avec un lien comme on peut le voir dans plusieurs sites.
Ce lien est au format HTML.
Voici mon entête :
$boundary = "-----=" . md5( uniqid ( rand() ) );
$headers = "Reply-to: *****.com <webmaster@*****.com>\n";
$headers .= "From: *****.com <anonymous@*****.com>\n";
$headers .= "Cc: <webmaster@*****.com>\n";
$headers .= "Bcc: webmaster@*****.com, webmaster@*****.com \n";
$headers .= "MIME-Version: 1.0\n";
$headers .= "Content-Type: multipart/alternative; boundary=\"$boundary\"";
$message = "This is a multi-part message in MIME format.\n\n";
$message .= "--" . $boundary . "\n";
$message .= "Content-Type: text/html; charset=\"iso-8859-1\"\n";
$message .= "Content-Transfer-Encoding: quoted-printable\n\n";
$message .= $messtxt;
$message .= "\n\n";
$message .= "--" . $boundary . "--\n";
Le message est au format html et je n'ai aucun soucis avec la mise en page.
Cependant, j'ai un problème avec mon lien.
$lien = "<a href='http://www.*****.com/beta/?page=inscription3&key=$key¶metre=$para'>http://www.record-forever.com/beta/?page=inscription3&key=$key¶metre=$para</a>";
Je test l'email sur orange et hotmail.
Voici les liens affichés :
Orange :
http://www.****.com/beta/?page=inscription3&key=5¶metreKab6457407e44.83329098
Normalement, il devrait m'afficher :
http://www.****.com/beta/?page=inscription3&key=5¶metre=4bab6457407e44.83329098
Hotmail :
http://www.*****.com/beta/?page=scription3&key=parametreKab6457407e44.83329098
Comme vous pouvez le remarquer, il y a un problème à chaque fois qu'un "=" est inséré.
J'ai essayé en ajoutant deux * devant les variables pour voir le résultat.
Orange :
http://www.****.com/beta/?page=**inscription3&key=**5¶metre=**4bab6457407e44.83329098
Plus de soucis, résultat que je comprends en fonction de mon code.
Hotmail :
http://www.****.com/beta/?page=inscription3&key=5¶metre=4bab6457407e44.83329098
Résultat attendu initialement, il me mange les deux "*" après chaque "=". Voila pourquoi sur le premier code j'ai ?page=scription3 au lieu de ?page=inscription3 sous hotmail.
Bref, j'ai des résultats différents sur les boites mails. J'ai l'impression que ça vient de l'encodage html. J'ai essayé avec htmlspecialchar(), htmlentities() et html_entity_decode()... Aucun ne donne le résultat attendu.
Merci d'avance pour vos réponses
Albat90
