2010-08-24 86 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。

編輯:也嘗試檢查您的垃圾郵件文件夾。您的共享託管服務提供商可能有人發送垃圾郵件。