Bonjour à tous,
J'utilise un formulaire mail mais le mail ne part pas et j'obtiens le message "Cet e-mail ne peut être envoyé. Merci de contacterSENDER_EMAIL"
Je vous laisse tester sur la page : http://www.locationsaintcoulomb.fr/contact.php.
J'ai beau chercher dans tous les sens mais mes capacités étant limitées, impossible de trouver d'où vient le problème...
Le script ajax :
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
23
24
25
26
27
28
29
30
31
32 $(document).ready(function (e){ $("#frmContact").on('submit',(function(e){ e.preventDefault(); $("#mail-status").hide(); $('#send-message').hide(); $('#loader-icon').show(); $.ajax({ url: "contact_check.php", type: "POST", dataType:'json', data: { "name":$('input[name="name"]').val(), "email":$('input[name="email"]').val(), "phone":$('input[name="phone"]').val(), "content":$('textarea[name="content"]').val(), "g-recaptcha-response":$('textarea[id="g-recaptcha-response"]').val()}, success: function(response){ $("#mail-status").show(); $('#loader-icon').hide(); if(response.type == "error") { $('#send-message').show(); $("#mail-status").attr("class","error"); } else if(response.type == "message"){ $('#send-message').hide(); $("#mail-status").attr("class","success"); } $("#mail-status").html(response.text); }, error: function(){} }); })); });
Le code html :
Code HTML : 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 <div class="content"> <div id="message"> <form id="frmContact" action="" method="POST" novalidate="novalidate"> <div class="label">Votre nom (sans accent, ni caractères spéciaux) : <font class="warning">*</font></div> <div class="field"><input type="text" id="name" name="name" placeholder="Entrez votre nom" title="Entrez votre nom" class="required" aria-required="true" required></div> <div class="label">Votre Email : <font class="warning">*</font></div> <div class="field"><input type="text" id="email" name="email" placeholder="Entrez votre e-mail" title="Entrez votre e-mail" class="required email" aria-required="true" required></div> <div class="label">Sujet : <font class="warning">*</font></div> <div class="field"><input type="text" id="phone" name="phone" placeholder="Sujet" title="Sujet" class="required phone" aria-required="true" required></div> <div class="label">Votre message : <font class="warning">*</font></div> <div class="field"><textarea id="comment-content" name="content" style="height: 80px;"></textarea></div> <div class="g-recaptcha" data-sitekey="<?php echo SITE_KEY; ?>" align="center"></div> <div id="mail-status" align="center" margin-bottom="10px"></div> <div align="center"><button type="Submit" id="send-message" class="bouton">Envoyer</button> <button type="reset" class="bouton">Annuler</button></div> </form> </div> <div id="loader-icon" style="display:none;"><img src="img/loader.gif" /></div> </div>
Et le code php :
Je vous remercie par avance pour votre aide.
Code : 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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64 <?php if($_POST) { require('constant.php'); $user_name = filter_var($_POST["name"], FILTER_SANITIZE_STRING); $user_email = filter_var($_POST["email"], FILTER_SANITIZE_EMAIL); $user_phone = filter_var($_POST["phone"], FILTER_SANITIZE_STRING); $content = filter_var($_POST["content"], FILTER_SANITIZE_STRING); if(empty($user_name)) { $empty[] = "<b>Nom</b>"; } if(empty($user_email)) { $empty[] = "<b>Email</b>"; } if(empty($user_phone)) { $empty[] = "<b>Sujet</b>"; } if(empty($content)) { $empty[] = "<b>Message</b>"; } if(!empty($empty)) { $output = json_encode(array('type'=>'error', 'text' => implode(", ",$empty) . ' <b>manquant(s)</b>')); die($output); } if(!filter_var($user_email, FILTER_VALIDATE_EMAIL)){ //email validation $output = json_encode(array('type'=>'error', 'text' => '<b>'.$user_email.'</b> est un e-mail non valide. Merci de le corriger.')); die($output); } //reCAPTCHA validation if (isset($_POST['g-recaptcha-response'])) { require('component/recaptcha/src/autoload.php'); $recaptcha = new \ReCaptcha\ReCaptcha(SECRET_KEY, new \ReCaptcha\RequestMethod\SocketPost()); $resp = $recaptcha->verify($_POST['g-recaptcha-response'], $_SERVER['REMOTE_ADDR']); if (!$resp->isSuccess()) { $output = json_encode(array('type'=>'error', 'text' => '<b>Alerte Captcha : Validation nécessaire !</b> ')); die($output); } } $toEmail = "contact@locationsaintcoulomb.fr"; $mailHeaders = "From : " . $user_name . "<" . $user_email . ">\r\n"; $mailBody = "Nom : " . $user_name . "\n"; $mailBody .= "Email : " . $user_email . "\n"; $mailBody .= "Sujet : " . $user_phone . "\n"; $mailBody .= "Message : " . $content . "\n"; if (mail($toEmail, "Message de www.locationsaintcoulomb.fr", $mailBody, $mailHeaders)) { $output = json_encode(array('type'=>'message', 'text' => 'Bonjour '.$user_name .', merci pour votre e-mail. Nous reviendrons vers vous dès que possible.')); die($output); } else { $output = json_encode(array('type'=>'error', 'text' => 'Cet e-mail ne peut être envoyé. Merci de contacter'.SENDER_EMAIL)); die($output); } } ?>![]()
Partager