| ||||||||
Nouvelle astucienne | j'envoie un mail par l'intermediaire d'un formulaire, ma page succes.html arrive bien pourtant je ne recois pas le mail. je ne trouve pas mon erreur, si quelqu'un pouvait m'aider ce serait vraiment sympa ! mon code html <h2>Contactez-nous</h2> <div id="contact_form"> <form id="form2" method="post" action="scripts/email.php"> <fieldset> <input id="con_name" name="con_name" value="Nom:" alt="" type="text" /><br /> <input id="con_email" name="con_email" value="E-mail:" alt="" type="text" /><br /> <input id="con_website" name="con_website" value="Sujet:" alt="" type="text" /><br /> <textarea id="con_mess" name="con_mess" cols="0" rows="0">Message:</textarea><br /> <input id="contact-submit" value="Valider" type="submit" /> <input id="contact-clear" value="Annuler" type="button" /> </fieldset> </form> </div>
Mon fichier email.php <?php require("config.inc.php"); if(isset($_POST['con_email']) && isset($_POST['con_name']) && isset($_POST['con_mess'])) { $headers = "From: ".$_POST['con_name']."<".$_POST['con_email'].">\r\n"; $headers .= "X-Sender: ".$_POST['con_email']."\r\n"; $headers .= "X-Mailer: PHP/".phpversion()."\r\n"; $headers .= "X-Priority: 2\r\n"; $headers .= "Return-Path: ".$_POST['con_email']."\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: text/plain; charset=\"US-ASCII\"\r\n"; $headers .= "Content-Transfer-Encoding: 7bit\r\n"; if(mail($to, $titre, $_POST['con_mess'], $headers)) { header("Location:../".$lienOK); } else { header("Location:../".$lienPasOK); } } else { header("Location:../".$lienPasOK); } ?> mon fichier config.inc.php <?php /* Inserer ici votre courriel */ $to = "sosanimauxdecompagnie@gmail.fr"; /* Inserer ici le titre quand on vous envoie un message */ $titre = "Contact SOS ANIMAUX DE COMPAGNIE"; /* Inserer ici le nom de la page lorsque le message a été envoyé avec succès */ $lienOK = "succes.html"; /* Inserer ici le nom de la page lorsque le message n'a pas été envoyé avec succès */ $lienPasOK = "echec.html"; ?>
Voila je recois bien le message successful de la pagesucces.html pourtant je ne recois pas le mail !!! | |||||||
Publicité | ||||||||
| ||||||||
![]() | Bonjour, Peux-tu faire l'essai de remplacer le code de ta page email.php par celui ci-dessous : ___________________________________________ <?php ____________________________________________ évidemment tu conserves la page précédente et tu fais un essai d'envoi @+ | |||||||
Nouvelle astucienne | J'ai modifié comme tu l'as dit (enore merci de m'aider) et du coup j'ai un message d'erreur : Notice: Undefined variable: headers in /homez.517/sosanima/www/scripts/email.php on line 6 si je supprime le $header cela fonctionne donc c'est dans la récup des headers que j'ai merdu ? | |||||||
![]() | Avant la commande mail, ajoute la ligne : $headers = "From: site machintruc <sosanimauxdecompagnie@gmail.fr>";
je fais l'essai du plus simple au plus compliqué, de toutes façons, tu avais un if qui n'était pas fermé @+
Modifié par y.bli le 28/02/2012 13:57 | |||||||
![]() | le premier if je ne corrige pas mes messages précédents pour qu'ils ne soient pas interprétés par le forum... @+ | |||||||
Nouvelle astucienne | non cela ne fonctionne pas, j'ai vraiment un problème ave mes headers mais je ne vois pas ou ... si je les enlève cela fonctionne | |||||||
![]() | Claudie972 a écrit : tu as essayé en fermant le dernier if ? à la fin de la ligne .....$headers .= "Content-Transfer-Encoding: 7bit\r\n"; } @+
| |||||||
Nouvelle astucienne | Donc je confirme si j'envoie $headers je ne recois rien, si je l'enlève de ma ligne mail, je recois le message !!! ????? | |||||||
Nouvelle astucienne | Si je ferme avec } là ou tu me l'indique il me fait une erreur de synthaxe sur la ligne, le dernier if est fermé devant le dernier else, tu penses que je le ferme au mauvais endroit ? | |||||||
![]() | Claudie972 a écrit : ah oui j'avais lu rapidement, mais présenté comme ça sans passer à la ligne pas facile à lire... mets tes variable headers sur des lignes différentes pour voir où ça coince Modifié par y.bli le 28/02/2012 14:31 | |||||||
Nouvelle astucienne | Oui effectivement je ne le ferme pas, j'ai donc essayé en refermant en dernière ligne toujours même résultat (pas de reception de mail !)! Ce qui est surprenant c'est que j'utilise exactement les mêmes scripts sur un autre site et cela fonctionne très bien ! J'ai juste changé le nom de mes variables !!! Cela fait une semaine que je suis là dessus et là franchement je n'y comprends rien ! | |||||||
Nouvelle astucienne | Oui excuse moi je demande de l'aide et je mets mon script en vrac <?php require("config.inc.php"); if(isset($_POST['con_email']) && isset($_POST['con_name']) && isset($_POST['con_mess'])) { $headers = "From: ".$_POST['con_email'].">\r\n"; $headers .= "X-Sender: ".$_POST['con_email']."\r\n"; $headers .= "X-Mailer: PHP/".phpversion()."\r\n"; $headers .= "X-Priority: 2\r\n"; $headers .= "Return-Path: ".$_POST['con_email']."\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: text/plain; charset=\"US-ASCII\"\r\n"; $headers .= "Content-Transfer-Encoding: 7bit\r\n"; if(mail($to, $titre, $_POST['con_mess'], $headers)) { header("Location:../".$lienOK); } else { header("Location:../".$lienPasOK); } } else { header("Location:../".$lienPasOK); } ?>
voilà j'espère que c'est plus facile à étudier, je confirme que si je laisse mon script tel quel en retirant $headers dans la commande mail tout fonctionne ok je recois le mail | |||||||
![]() | j'ai fait un essai de ton code sur un de mes sites et les headers fonctionnent... je dois partir maintenant, je verrai plus tard si tu n'as pas trouvé d'ici là... @+ | |||||||
Nouvelle astucienne | Alors j'ai réécris mon email.php à la main et cela fonctionne, en faisant mon copié collé j'ai dû intégrer un caractère quelconque que le serveur n'aimait pas du tout donc tout est ok Merci de ton aide | |||||||
![]() | Claudie972 a écrit : C'est bien, merci pour le retour d'info @+ | |||||||
|
Les bons plans du moment PC Astuces | Tous les Bons Plans | ||||||||||||||||||
|