2010-08-24 75 views
0

我正在发布到mailer.php文件。这里
mailer.phpjquery 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!"; 

} 
?> 

是我的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;  
     }); 

我得到成功的消息,但邮件没有收到。我做错了什么?如何从mailer.php文件获取错误详细信息并显示在span.msg中?

回答

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

很抱歉的双重职务,雅各布的解决方案应该做到和我一样,从第一眼。 – bradenkeith 2010-08-24 19:12:33

0

在根据返回this page部分,它说:

返回true如果邮件被成功接受交付,否则返回FALSE。 重要的是要注意,仅仅因为邮件被接受发送,并不意味着邮件实际上会到达预期的目的地。

所以,只要检查它是否返回true或false。

编辑:也尝试检查您的垃圾邮件文件夹。您的共享托管服务提供商可能有人发送垃圾邮件。