Insérer un lien dans mail en php

Résolu
Bonjour,

Je veux envoyer un mail en php via mon hébergeur.
Il fonctionne correctement mais je veux l'améliorer et surtout je n'arrive pas à insérer un lien.
<?php
$to = $mail_oublie;
$subject = 'Nouveau mot de passe';
// clé aléatoire de limite
$boundary = md5(uniqid(microtime(), TRUE));
// Headers
$headers = 'From: Association_Culturelle_Troissy_Bouquigny <***@***>'."\r\n";
$headers .= 'Mime-Version: 1.0'."\r\n";
$headers .= 'Content-Type: multipart/mixed;boundary='.$boundary."\r\n";
$headers .= "\r\n";
// Message
$msg = 'This is a multipart/mixed message.'."\r\n\r\n";
// Texte
$msg .= '--'.$boundary."\r\n";
$msg .= 'Content-type:text/plain;charset=iso-8859-1'."\r\n";
$msg .= 'Content-transfer-encoding:8bit'."\r\n";
$msg .= 'Bonjour ' .$civilite.' '.$nom."\r\n\r\n";
$msg .= 'Ce message vous est envoyé par l\'Association pour l\'Animation Culturelle de Troissy Bouquigny.'."\r\n";
$msg .= 'Votre nouveau mot de passe est : '.$newpassword."\r\n\r\n";
$msg .= 'Nous vous recommandons de vous connecter rapidement pour changer votre mot de passe.'."\r\n";
$msg .= 'Cliquez sur ce <a href="http://www.associationculturelletroissybouquigny.fr/index.php?page=log">lien</a> pour changer votre mot de passe'."\r\n\";
$msg .= "\r\n\r\n";
$msg .= 'Avec nos remerciements.'."\r\n";
//$msg .= '--'.$boundary."\r\n";
/* Expression régulière permettant de vérifier qu'aucun en-tête n'est inséré dans nos champs */
$regex_head = '/[\n\r]/';
mail($to, $subject, $msg, $headers);

après $newpassword je voudrais faire un simple retour chariot et non un saut de ligne mais si je mets seulement "\r\n\"; le retour chariot ne se fait pas.

L'autre problème qui fait planter le mail c'est le lien :

$msg .= 'Cliquez sur ce <a href="http://www.associationculturelletroissybouquigny.fr/index.php?page=log">lien</a> pour changer votre mot de passe'."\r\n\";


Si quelqu'un veut m'aider Merci d'avance

EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

2 réponses

  1. Modérateur
    En HTML un retour à la ligne c'est <br />
    1. Merci pour le retour à la ligne !!
  2. Modérateur
    Bonjour,

    Pour ce qui est de ton pb de lien....
    tu as mis :
    $msg .= 'Content-type:text/plain;charset=iso-8859-1'."\r\n";
    

    ... donc tu l'envoies au format TEXT .. et non en HTML ...