PHP Insérer variable dans la fonction mail

Résolu
Bonjour,

Je désire envoyer un e-mail a partir d'une page en php et j'aimerais que le sujet et le message soit toujours le même, par contre l'adresse devrait être appliquer a l'aide d'une variable. Le tout dans le cadre d'une confirmation d'inscription a mon site web par e-mail.
Voici mon code:

cette variable a été déclaré en début de script
$mail = $_POST["mail"] ;

mail('$mail', 'Ma page','Cliquez-ici pour activer votre compte sur Ma page: http://localhost/confirmation.html');

Si j'entre une adresse fixe a la place de la variable le tout fonctionne bien.

Merci a l'avance
Configuration: Windows XP
Firefox 3.5.3

3 réponses

  1. De rien, j'ai préféré expliquer en détail, histoire de comprendre pourquoi ca marchait pas :)
    1. Merci beaucoup mais avec un header complet comme on trouve plus fréquemment:
      $header = "From: \"Toto\"<toto@domaine .com>".$passage_ligne;
      $header .= "Reply-to: \"Toto\" <" . $Email . ">".$passage_ligne;
      $header .= "MIME-Version: 1.0".$passage_ligne;
      $header .= "Content-Type: multipart/alternative;".$passage_ligne." boundary=\"$boundary\"".$passage_ligne;
      Faite attention a l espace d ans l adresse sans espace c'est censurer
  2. Avec tes bon conseils BoOst, tout fonctionne très bien maintenant...

    Milles merci!!! :)
    1. Bonsoir,

      Il faut mettre directement la variable sans les guillemets, comme ceci :
      mail($mail, 'Ma page',


      En effet, entre des guillemet simples, les variables ne sont pas évaluées par PHP.
      Par contre, en utilisant "$mail" cela aurait fonctionné car considéré par PHP comme une chaîne contenant la variable.

      Pour plus d'explications : par exemple, si $mail contient "toto@domaine.com"

      "adresse : $mail" => "adresse : toto@domaine.com"

      equivalent à
      "adresse : ".$mail => "adresse : toto@domaine.com"

      mais
      'adresse : $mail' => 'adresse : $mail'


      voila, c'est plus clair ainsi :)