Problème lors de l'envoi de mail (inscription) de mon formulaire de contact

Eléphanteau du PHP | 15 Messages

08 avr. 2021, 12:43

Coucou Tout le monde 8-)

Un souci d'envoi de mails via Formulaire de contact à Web-site me bouffe le cerveau petit à petit :oops: , pourtant tout allait bien et ce formulaire fonctionnait très bien jusqu'à peu. :evil:

voilà le script utilisé (code 1):

Code : Tout sélectionner

<?php include 'hearder2.php'; ?> <section class="batween"> <div class="sec"> <?php if(isset($_POST ['submit'])){ $name = htmlspecialchars($_POST ['name']); $name = trim($_POST ['name']); $name = stripslashes($_POST ['name']); $name = strip_tags($_POST ['name']); $subject = trim( $_POST ['subject']); $subject = htmlspecialchars( $_POST ['subject']); $subject = stripslashes( $_POST ['subject']); $subject = strip_tags( $_POST ['subject']); $mailFrom = htmlspecialchars ($_POST ['mail']); $mailFrom = htmlspecialchars ($_POST ['mail']); $mailFrom = stripslashes ($_POST ['mail']); $mailFrom = strip_tags ($_POST ['mail']); $message = htmlspecialchars($_POST ['message']); $message = trim($_POST ['message']); $message = stripslashes($_POST ['message']); $message = strip_tags($_POST ['message']); $mailTo = "[email protected]"; $hearders = "From:".$mailFrom; $txt= "you have received an mail from ". $name."\n\n".$message; mail($mailTo, $subject, $txt, $hearders); header ("Location:4_contactes.php?mailsended"); } ?>
il n' y a rien d'anormal dans mon Web-Site puisque je reçois et j'envoie des mails sans souci à partir d'autres boites.
pour remédier à ce problème, j'ai employé un autre script simple mais sans résultat :non: , voilà le script de remplacement (code 2):

Code : Tout sélectionner

<?php include 'hearder2.php'; ?> <?php if(isset($_POST['mailform'])) { if(!empty($_POST['nom']) AND !empty($_POST['mail']) AND !empty($_POST['message'])) { $mailFrom=($_POST ['mail']); $header="MIME-Version: 1.0\r\n"; $hearder = "From:".$mailFrom; $header.='Content-Type:text/html; charset="uft-8"'."\n"; $header.='Content-Transfer-Encoding: 8bit'; $message=' <html> <body> <div align="center"> <u>Nom de l\'expéditeur :</u>'.$_POST['nom'].'<br /> <u>Mail de l\'expéditeur :</u>'.$_POST['mail'].'<br /> <br /> '.nl2br($_POST['message']).' </div> </body> </html> '; mail("[email protected]", "CONTACT - Monsite.com", $message, $header); $msg="Votre message a bien été envoyé !"; } else { $msg="Tous les champs doivent être complétés !"; } } ?> <h2>Formulaire de contact !</h2> <form method="POST" action=""> <input type="text" name="nom" placeholder="Votre nom" value="<?php if(isset($_POST['nom'])) { echo $_POST['nom']; } ?>" /><br /><br /> <input type="email" name="mail" placeholder="Votre email" value="<?php if(isset($_POST['mail'])) { echo $_POST['mail']; } ?>" /><br /><br /> <textarea name="message" placeholder="Votre message"><?php if(isset($_POST['message'])) { echo $_POST['message']; } ?></textarea><br /><br /> <input type="submit" value="Envoyer !" name="mailform"/> </form> <?php if(isset($msg)) { echo $msg; } ?>
Merci de m'indiquer une erreur ds le 01 ou le 02 ème code ou de m'orienter vers d'autres scripts ( y compris javascript) mais qui ne soit pas trop compliqué car je suis débutant. :roll:

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 9782 Messages

08 avr. 2021, 13:27

Le mieux pour debuguer c'est de repartir d'un code simple, je te préconise l'exemple #2 de la doc :
https://www.php.net/manual/fr/function.mail.php
Tu le mets dans un nouveau script PHP, tu mets ton adresse e-mail et tu vérifies que ça fonctionne.

=> Si ça ne fonctionne pas, contacte ton hébergeur en donnant l'adresse de ce script. Si c'est exactement celui de la doc alors c'est qu'il y a un problème de son côté.

Si ça marche alors il faut maintenant que tu reconstruises ton script complet progressivement en testant à chaque étape pour voir à quel moment ça coince, ça va t'aider dans ton debugage.
Quand tout le reste a échoué, lisez le mode d'emploi...