Bonjour à tous,
J'ai 2 formulaires pour communiquer par courriel, l'un passe par un formulaire standard html et le courriel s’envoie dans une autre page. Un classique qui fonctionne bien.
L'autre est aussi simpliste, sauf que les éléments du formulaire sont envoyé en AJAX (bibliothèque jQuery). La requête est bien envoyé, je récupère même quelques echo pour vérifier que tout fonctionne bien, même que la fonction mail de php me renvoi TRUE, mais je ne reçois pas le courriel.
Pourtant, dans mon autre formulaire, j'utilise la même ligne de commande pour recevoir le courriel et il fonctionne.
Les codes maintenant :
Premier formulaire qui fonctionne:
Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 $_POST = removeSpecialCaracters($_POST); $message = "Prénom du parent : " . $_POST['prenomparent'] . "\r\n"; $message .= "Nom du parent : " . $_POST['nomparent'] . "\r\n"; $message .= "Adresse : " . $_POST['adresseparent'] . "\r\n"; $message .= "Ville : " . $_POST['villeparent'] . "\r\n"; $message .= "Code postal : " . $_POST['codepostalparent'] . "\r\n"; $message .= "Téléphone : " . $_POST['telparent'] . "\r\n"; $message .= "Courriel : " . $_POST['courrielparent'] . "\r\n"; $subject = "Inscription en ligne de " . $_POST['prenomparent'] . ' ' . $_POST['nomparent']; $headers = 'From: ' . $_POST['prenomparent'] . ' ' . $_POST['nomparent'] . ' <'.$_POST['courrielparent'].'>' . "\r\n"; $headers .= 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/plain; charset=utf-8' . "\r\n"; $reponse = @mail('xxx@xxx.com',$subject,$message,$headers);
2e formulaire qui n'envoie pas le courriel
Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 $_POST = removeSpecialCaracters(removeSlashes($_POST)); $message = "Nom : " . $_POST['nom'] . "\r\n"; $message .= "Adresse courriel : " . $_POST['courriel'] . "\r\n"; $message .= "Message : \r\n" . wordwrap($_POST['message'],70) . "\r\n"; $subject = "Message de " . $_POST['nom']; $headers = 'From: Rires et Câlins <xxx@xxx.com>' . "\r\n"; $headers .= 'Reply-To: ' . $_POST['courriel'] . "\r\n"; $headers .= 'MIME-Version: 1.0' . "\r\n"; $headers .= 'Content-type: text/plain; charset=utf-8' . "\r\n"; echo "\r\n\r\n" . $message . "\r\n\r\n" . $subject . "\r\n\r\n" . $headers; $reponse = @mail('xxx@xxx.com',$subject,$message,$headers); echo $reponse;
appel javascript
Code Javascript : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 function sendMail(formObj,lang){ var messageTexte = new Array(); messageTexte['succesfr'] = 'Votre message à été envoyé avec succès !'; messageTexte['echecfr'] = 'Une erreur est survenue lors de l\'envoi de votre message !'; $.ajax({ type : 'post', url : 'sendmail.php', data : {nom : formObj.nom.value, courriel : formObj.courriel.value, telephone : formObj.telephone.value, message : formObj.message.value}, success : function(data, textStatus, jqXHR){ alert(messageTexte['succes'+lang]); alert(jqXHR.responseText); }, error : function(){ alert(messageTexte['echec'+lang]); } }); return false }
Dans mon 2e alert, je vois toutes mes données ainsi que le 1 (echo $reponse) qui me confirme que le tout à bien été envoyé. J'ai fait un copier/coller de la ligne mail(blablabla) du premier formulaire, pourtant, je continue à recevoir les courriels du premier formulaire, mais pas du 2e... Je sais que même si la fonction mail() retourne TRUE, il n'est pas impératif que le courriel va se rendre à destination... Sur 30 courriels du premier formulaire, j'ai 30 réception et aucune sur 30 pour le second formulaire... mal chance ou problème ?
Avez-vous une piste de solution ?
Merci
Partager