[PHP] Problème de fonction mail()

goma771

Nouveau membre
Bonjour,

J'ai installer le serveur apache + php + MySQL + phpMyAdmin. Jusque la tout se passe normalement.
Sur mon site Web j'aimerais installer un formulaire gérer par la focntion mail().

Voici le code que j'ai pour ma page html (formulaire.html)
[cpp]
<form id="form1" name="form1" method="post" action="http://www.monsite.com/envoi.php">
<label>
<input name="Nom" type="text" id="Nom" />
</label>
<label></label>
<p>
<label>
<input name="Pr&eacute;nom" type="text" id="Pr&eacute;nom" />
</label>
</p>
<p>
<label>
<input name="Soci&eacute;t&eacute;" type="text" id="Soci&eacute;t&eacute;" />
</label>
</p>
<p>&nbsp;</p>
<p>
<label>
<input name="Email" type="text" id="Email" />
</label>
</p>
<p>
<label>
<input name="Tel" type="text" id="Tel" />
</label>
</p>
<p>
<label>
<input name="Adresse" type="text" id="Adresse" />
</label>
</p>
<p>
<label>
<input name="Cp" type="text" id="Cp" />
</label>
</p>
<p>
<label>
<input name="Ville" type="text" id="Ville" />
</label>
</p>
<p>&nbsp;</p>
<p>
<label>
<input name="Description" type="text" id="Description" size="55" />
</label>
</p>
<p>&nbsp;</p>
<p>
<label>
<input type="radio" name="Nombre de pages" value="0<->5" />
0 <-> 5 pages</label>
<br />
<label>
<input type="radio" name="Nombre de pages" value="5<->10" />
5 <-> 10 pages</label>
<br />
<label>
<input type="radio" name="Nombre de pages" value="10<->20" />
10 <-> 20 pages</label>
<br />
<label>
<input type="radio" name="Nombre de pages" value="20 et plus" />
20 pages et plus</label>
</p>
<p>&nbsp;</p>
<p>
<label>
<input type="radio" name="Nombre d'images" value="0<->10" />
0 <-> 10 images</label>
<br />
<label>
<input type="radio" name="Nombre d'images" value="10<->25" />
10 <-> 25 images</label>
<br />
<label>
<input type="radio" name="Nombre d'images" value="25<->50" />
25 <-> 50 images</label>
<br />
<label>
<input type="radio" name="Nombre d'images" value="50 et plus" />
50 images et plus</label>
</p>
<p>&nbsp;</p>
<p>
<label>
<input name="Animations" type="checkbox" id="Animations" value="ok" />
</label>
Animations</p>
<p>
<label>
<input name="Vid&eacute;os" type="checkbox" id="Vid&eacute;os" value="ok" />
</label>
Vid&eacute;os</p>
<p>
<label>
<input name="Formulaires" type="checkbox" id="Formulaires" value="ok" />
Formulaires</label>
</p>
<p>
<label>
<input name="Base de donn&eacute;es" type="checkbox" id="Base de donn&eacute;es" value="ok" />
Base de données</label>
<br />
<br />
<label></label>
</p>
<p>&nbsp; </p>
<p>
<label>
<input name="Submit" type="submit" onclick="MM_validateForm('Nom','','R','Pr&eacute;nom','','R','Soci&eacute;t&eacute;','','R','Email','','RisEmail','Tel','','R');return document.MM_returnValue" value="Envoyer" />
<input type="reset" name="Submit2" value="Effacer" />
</label>
</p>
</form>
[/cpp]
et voici le code de la page envoi.php :
[cpp]
<body>
<?

$MailTo = "mon email";
$MailSubject = "sujet1";
$MailHeader = "$Email";

$MailBody .= "Nom : $Nom\n";

$MailBody .= "Prenom: $Pr&eacute;nom\n";

$MailBody .= "Societe : $Soci&eacute;t&eacute;\n";

$MailBody .= "Telephone : $Tel\n";

$MailBody .= "Adresse : $Adresse\n";

$MailBody .= "Cp : $Cp\n";

$MailBody .= "Ville: $Ville\n";

$MailBody .= "Description du site : $Description\n";

$MailBody .= "Nombre de pages : $Nombre de pages\n";

$MailBody .= "Nombre d'images : $Nombre d'images\n";


//Routine pour les cases à cocher

$MailBody .="Option : ";

$items = 4; //initialisation du nombre d'items possibles

for ($i = 1; $i <= $items; $i++)

{ //boucle sur le nombre d'items
$MailBody .= "$champ8[$i], "; //stockage des items choisis dans la variable MailBody
}

//Envoi du message

mail($MailTo, $MailSubject, $MailBody, $MailHeader); //envoi du message

Header("Location: http://monsite/remerciement.html");

?>

</body>
[/cpp]
Mais ça fonctionne pas !!! je ne reçoit aucun email sur ma boîte

Dans le fichier php.ini
J'ai mis comme valeur ceci pour la variable SMTP :
SMTP = smtp.tele2.fr;

Mais tjrs rien , est ce que quelqu'un pourrait m'aider à résoudre ce problème.

Merci
 

boub popsyteam

Grand Maître
Déjà les
Code:
&eacute;
Dans les noms de champs/ID etc, ça doit pas aider :o

Ensuite es tu sur de bien recevoir des valeurs dans tes variables ?

(je te laisses chercher les infos sur $_POST et/ou $_REQUEST plutot que de le faire par le nom des champs)
 

goma771

Nouveau membre
je pense pas que ce genre de code est source de problème,
je sais pas si je reçoit bien les valeurs dans mes variables, mais je devrait quand même recevoir un mail dans ma boîte ? non ?
 

boub popsyteam

Grand Maître
1/je pense pas que ce genre de code est source de problème,
2/je sais pas si je reçoit bien les valeurs dans mes variables, mais je devrait quand même recevoir un mail dans ma boîte ? non ?

1/ Verifie on ne sait jamais.
2/ voir 1/ :ange:. Pour le mail reçu ou pas ... Teste déjà ta fonction mail(); sans variables voir si ca marche ...

Règle générale ne jamais présumé de l'existence ou du fonctionnement de quelque chose ;)

edit: d'autant que je viens de calculer que tu ne verifie même pas ce qui est renvoyé par mail(); ...
 

Johan_et_Pirlouit

Grand Maître
Déjà les
Code:
&eacute;
Dans les noms de champs/ID etc, ça doit pas aider :o
+1.. Ne jamais utiliser de caractères spéciaux dans les noms des 'id' et 'class' des objets (valable aussi pour l'attribut 'name').. Et un ID ou une Class ne doit pas commencer par un chiffre.. C'est un peu la même chose pour les variables PHP.....

Une fois ce soucis réglé, tu y verras plus clair : puisque tu as des caractères spéciaux un peu partout où il ne faut pas..

:merci:
 

goma771

Nouveau membre
J'ai essayer en enlevant tout les caractères spéciaux, j'ai mis tout les champs en commentaire à part le nom, mais ça ne focntionne toujours pas.
Est ce que l'adresse à laquelle j'envoi le mail doit obligatoirement être associé au SMTP, par ex :
SMTP = smtp.tele2.fr et que mon adresse mail n'est pas chez tele2, ex : aaa@hotmail.fr
???
Merci
 

Johan_et_Pirlouit

Grand Maître
J'ai essayer en enlevant tout les caractères spéciaux, j'ai mis tout les champs en commentaire à part le nom, mais ça ne focntionne toujours pas.
Est ce que l'adresse à laquelle j'envoi le mail doit obligatoirement être associé au SMTP, par ex :
SMTP = smtp.tele2.fr et que mon adresse mail n'est pas chez tele2, ex : aaa@hotmail.fr
???
Merci
Si tu n'as aucun compte chez Tele2, je ne vois pas pourquoi tu utilises leur SMTP :??:.. Maintenant, si ton FAI est Tele2, tu as certainement une boîte ouverte chez eux en liaison avec ton accès Internet.. Si c'est le cas, essaie avec les paramètres de cette boîte.. Sinon, rien ne t'interdit d'en ouvrir une, même si tu ne t'en sers pas pour autre chose..

Cependant, je dis ça sans bien connaître l'utilisation d'un serveur de mail installé en local [:spamafote]..

:merci:
 

Mumbag64

Nouveau membre
Salut, j'ai eu le même problème que toi. En faisant des tests je me suis rendu compte qu'hotmail considère les mails envoyés avec la fonction mail() de php pour du courrier indésirable!!! C'est quand j'ai ouvert ce dossier que je me suis trouvé très c*n... 26 mails :D
Enfin voila.. essaie avec une autre adresse, il y a des chances pour que ça fonctionne

Ciao.
 

dtom

Expert
pour le smtp, utilise celui de ton fai smtp.tele2.fr, par exemple pour moi c'est smtp.free.fr, ensuite ça enverra sur n'importe quel autre FAI.
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 128
Messages
6 717 846
Membres
1 586 373
Dernier membre
https://forum.tomshardwar
Partager cette page
Haut