2010-08-24 2 views
0

Je poste dans un fichier mailer.php.
mailer.phperreur d'affichage de jquery post

<?php 
if(isset($_POST['submit'])) { 

$to = "[email protected]"; 
$subject = "Contact via website"; 
$name_field = $_POST['name']; 
$email_field = $_POST['email']; 
$message = $_POST['message']; 

$body = "From: $name_field\n E-Mail: $email_field\n Message:\n $message"; 

echo "Data has been submitted to $to!"; 
mail($to, $subject, $body); 

} else { 

echo "blarg!"; 

} 
?> 

ici est mon code js

$('.submit').click(function(){ 
      $('span.msg').css({'visibility': 'visible'}).text('Sending...'); 
      $.post("mailer.php", $(".contactPage").serialize(), 
       function(data){ 
        $('span.msg').text('Your Message has been received. Thank you').show(); 
       }); 

      return false;  
     }); 

Je reçois un message de succès, mais e-mail n'est pas reçu. Qu'est ce que je fais mal? Comment obtenir le détail d'erreur depuis le fichier mailer.php et en le montrant dans span.msg?

Répondre

0
if(mail($to, $subject, $body)){ 
    echo "success"; 
}else{ 
    echo "fail"; 
} 

JS:

$('.submit').click(function(){ 
      $('span.msg').css({'visibility': 'visible'}).text('Sending...'); 
      $.post("mailer.php", $(".contactPage").serialize(), 
       function(data){ 
        if(data == 'success'){ 
         $('span.msg').text('Your Message has been received. Thank you').show(); 
        }else{ 
         $('span.msg').text('Your Message has failed. Thank you').show(); 
        }      
       }); 

      return false;  
     }); 
+0

Désolé pour le double post, solution Jacobs devrait accomplir la même que la mienne de premier coup d'œil. – bradenkeith

0

Sur this page sous le Valeurs de retour section, il dit:

Retourne TRUE si le courrier a été avec succès accepté pour la livraison, sinon FALSE. Il est important de noter que ce n'est pas parce que le courrier a été accepté pour la livraison que le courrier atteindra la destination prévue.

Donc, vérifiez simplement si elle retourne vrai ou faux.

EDIT: Également essayer de vérifier votre dossier spam. Peut-être que quelqu'un sur votre fournisseur d'hébergement mutualisé envoie du spam.