Javascript 联系人表单-无法获取要发送的电子邮件

Javascript 联系人表单-无法获取要发送的电子邮件,javascript,php,ajax,forms,email,Javascript,Php,Ajax,Forms,Email,我正在尝试创建一个发送电子邮件的基本表单,下面是它的外观: 我已经把一切都安排好了,只是一旦表格处理完毕,我就无法收到实际发送的电子邮件。我的函数在我的字段验证工作正常时执行,我可以看到通过取消注释JAVA脚本代码“alert(dataString);return false;”从表单中获取正确的值,甚至.ajax也会执行,因为我收到“Contact form Sent!我们很快就会联系。”消息显示,但实际的电子邮件从未发送。我猜process.php文件中缺少一些内容。我无法跟踪问题发生的位

我正在尝试创建一个发送电子邮件的基本表单,下面是它的外观:

我已经把一切都安排好了,只是一旦表格处理完毕,我就无法收到实际发送的电子邮件。我的函数在我的字段验证工作正常时执行,我可以看到通过取消注释JAVA脚本代码“alert(dataString);return false;”从表单中获取正确的值,甚至.ajax也会执行,因为我收到“Contact form Sent!我们很快就会联系。”消息显示,但实际的电子邮件从未发送。我猜process.php文件中缺少一些内容。我无法跟踪问题发生的位置或我的process.php是否执行过。该文件应该与JAVA脚本位于同一目录中吗?或者在主目录bin文件夹中?或者在过程代码中有我盲目遗漏的东西吗?有人能认出我遗漏了什么吗?事先非常感谢

HTML:

<div class="content">
<div class="content_resize">
  <div class="mainbar">
    <div class="article">
      <h2><span>Send us E-Mail</span></h2>
      <div id="contact_form">
      <form action="" form name="contact">
      <fieldset>
        <ol>
          <li>
            <label for="name" id="name_label">Your Full Name</label>
            <input type="text" name="name" id="name" size="30" value="" class="text-input" />
            <label2 class="error" for="name" id="name_error">This field is required.</label2>
          </li>
          <li>
            <label for="email" id="email_label">Your Email Address</label>
            <input type="text" name="email" id="email" size="30" value="" class="text-input" />
            <label2 class="error" for="email" id="email_error">This field is required.</label2>
          </li>
          <li>
            <label for="website id="phone_label">Your Phone Number</label>
            <input type="text" name="phone" id="phone" size="30" value="" class="text-input" />
            <label2 class="error" for="phone" id="phone_error">This field is required.</label2>
          </li>
          <li>
            <label for="message">Your Message</label>
            <textarea id="message" name="message" rows="8" cols="50"></textarea>
          </li>
          <li>
            <input type="submit" name="imageField" id="submit_btn" src="images/submit.gif" class="send" />
          </li>
        </ol>
      </fieldset>
      </form>
      </div>
    </div>
  </div>
  $(function() {
  $('.error').hide();
  $(".send").click(function() {
    // validate and process form here

    $('.error').hide();
        var name = $("input#name").val();
        if (name == "") {
        $("label2#name_error").show();
        $("input#name").focus();
        return false;
    }
        var email = $("input#email").val();
        if (email == "") {
        $("label2#email_error").show();
        $("input#email").focus();
        return false;
    }
        var phone = $("input#phone").val();
        if (phone == "") {
        $("label2#phone_error").show();
        $("input#phone").focus();
        return false;
    }

    var message = $("textarea#message").val();

    var dataString = 'name='+ name + '&email=' + email + '&phone=' + phone + '&message=' + message;
    // alert (dataString);
    // return false;

    $.ajax({
      type: "POST",
      url: "bin/process.php",
      data: dataString,
      success: function() {
        $('#contact_form').html("<div id='send_message'></div>");
        $('#send_message').html("<h2>Contact Form Sent!</h2>")
        .append("<p>We will be in touch soon.</p>");
      }
    });
    return false;

  });
});
    <?php

    $email_to = "XXXXX@gmail.com";

    $email_subject = "Message sent using contact form.";


    $name = $_POST['name']; // required

    $email_from = $_POST['email']; // required

    $phone = $_POST['phone']; // required

    $message = $_POST['message'];


    $email_message .= "Full Name: ".clean_string($name)."\n";

    $email_message .= "Email: ".clean_string($email_from)."\n";

    $email_message .= "Phone Number: ".clean_string($phone)."\n";

    $email_message .= "Message: ".clean_string($message)."\n";


    // create email headers
    $headers = 'From: '.$email_from."\r\n".

    'Reply-To: '.$email_from."\r\n" .

    'X-Mailer: PHP/' . phpversion();

    @mail($email_to, $email_subject, $email_message, $headers);  

?>

给我们发电子邮件
  • 你的全名 此字段必填。
  • 你的电子邮件地址 此字段必填。

  • 一种可能是,您的主机不喜欢$email_from地址。我认为大多数主机都限制使用与该主机无关的发件人地址发送邮件(这样做是为了不允许垃圾邮件发送者)。尝试使用no-reply@yourdomain.com或者类似的,或者更好的是一个真正存在的地址,比如你的发件人地址。回复地址仍然可以是用户输入的地址(在您检查该地址是否有效后)。

    代码太多。如果没有发送邮件,为什么要禁止邮件功能的错误输出?对不起,我不知道你的意思?请你说得具体一点,看看你自己的代码。如果你不知道它是干什么的,你从哪里弄来的?为什么在
    邮件
    功能之前有一个
    @
    标志?Php和sendmail从来都不是一个好的组合(只是对我来说似乎从来都不起作用)。我经常做的是在我的本地邮件服务器中创建一个php套接字,并使用SMTP发送邮件。即使我删除@it,它也不起作用。我只是在测试,因为我在一个论坛上看到有人在使用它,所以值得一试,因为我绝望了。删除@before邮件功能仍然不起作用。请记住这是一件好事。我已经用现有的电子邮件地址做了测试,但仍然不起作用。