Php 为什么';你不发吗?

Php 为什么';你不发吗?,php,jquery,html,ajax,forms,Php,Jquery,Html,Ajax,Forms,我正在制作一个ajax表单。我收到了成功的信息,但我没有收到任何电子邮件,有什么想法吗 send-form.php: <?php // Email Submit // Note: filter_var() requires PHP >= 5.2.0 if ( isset($_POST['email']) && isset($_POST['name']) && isset($_POST['text']) && isset($_POST['

我正在制作一个ajax表单。我收到了成功的信息,但我没有收到任何电子邮件,有什么想法吗

send-form.php:

<?php
// Email Submit
// Note: filter_var() requires PHP >= 5.2.0
if ( isset($_POST['email']) && isset($_POST['name']) && isset($_POST['text']) && isset($_POST['email'])) ) {


  // detect & prevent header injections
  $test = "/(content-type|bcc:|cc:|to:)/i";
  foreach ( $_POST as $key => $val ) {
    if ( preg_match( $test, $val ) ) {
      exit;
    }
  }

  //send email
  mail( "mymail@email.com", "Contact Form: ".$_POST['name'], $_POST['text'], "From:" . $_POST['email'] );

}
?>
index.html:

<form id="contact" method="post">
  <fieldset>
    <label>Your Name</label><br />
    <input name="name" id="name" type="text">  
    <label>Your Email</label><br />
    <input name="email" id="email" type="text">  
    <label>Your Question</label><br />
    <textarea rows="10" name="text" id="text" ></textarea>
  </fieldset>
  <input type="submit" value="Send Message" name="submit">
  <p class="success" style="display:none">Your message has been sent successfully.</p>
  <p class="error" style="display:none">E-mail must be valid and message must be longer than 100 characters.</p>
</form>

您的名字
您的电子邮件
你的问题

您的邮件已成功发送

电子邮件必须有效且长度必须超过100个字符

几个小时以来,我一直在用自己的技巧编辑它,但没有成功。这就是我目前得到的。我收到了成功消息,但没有给我发送电子邮件


感谢您的帮助

我找到了所有的信息att你确定电子邮件在你的服务器上工作吗?你确定
如果(preg_match($test,$val)){
没有导致它退出吗?服务器日志中的最后一个错误是什么?“我没有收到任何电子邮件”涵盖了非常广泛的潜在问题。服务器是否按预期响应AJAX调用?日志中是否有任何服务器端错误?是
邮件()
呼叫被接通?呼叫是否成功返回?(提示:您当前未检查此项。)SMTP服务器是否成功响应?邮件是否被过滤为垃圾邮件?您需要进行一些调试,并缩小此过程失败的范围。您做了哪些调试来缩小问题范围?AJAX中的成功消息基本上没有任何意义,因为针对服务器的任何请求,即使是出现致命错误的请求,都将返回HTTP 200您专门发送了一个错误头。如果没有HTTP错误响应,您的AJAX将认为请求成功(因为从HTTP请求/响应处理的角度来看它成功了)
<form id="contact" method="post">
  <fieldset>
    <label>Your Name</label><br />
    <input name="name" id="name" type="text">  
    <label>Your Email</label><br />
    <input name="email" id="email" type="text">  
    <label>Your Question</label><br />
    <textarea rows="10" name="text" id="text" ></textarea>
  </fieldset>
  <input type="submit" value="Send Message" name="submit">
  <p class="success" style="display:none">Your message has been sent successfully.</p>
  <p class="error" style="display:none">E-mail must be valid and message must be longer than 100 characters.</p>
</form>