-1

我在提交此消息表单时遇到问题。我可以获得要发送到 .php 文件的信息,但电子邮件没有发送,谁能帮助我?

这是jQuery

$('form.contact').on('submit', function() {

  var that    = $(this),
      url     = that.attr('action'),
      type  = that.attr('method'),
      data    = {};

  that.find('[name]').each(function() {
      var that = $(this);
          name = that.attr('name');
          value = that.val();

      data[name] = value;
  });

  $.ajax({
      url: url,
      type: type,
      data: data,
      success: function(response) {
        console.log(response);
      }
  });

  return false;
});

这是php

include 'config.php';

// Email Submit
if (isset($_POST['email']) && isset($_POST['name']) && isset($_POST['message'])){

   //send email
   mail(EMAIL_ADDRESS, "Contact Form: ".$_POST['name'],
   $_POST['message'], "From:" . $_POST['email']);

}

EMAIL_ADDRESS是由管理员设置的常数。

如果需要这里是html

<div id="contact_form">
    <form action="admin/submit.php" method="post" class="contact">
        <input class="fullwidth" type="text" name="name" placeholder="Your Name" />
        <input class="fullwidth" type="email" name="email" placeholder="Email Address" />
        <textarea type="text" name="message" placeholder="Message"></textarea>
        <input id="submit" type="submit" value="Submit" />
        <div id="submit_triangle"></div>
    </form>
</div>
4

2 回答 2

0

好吧,您的代码似乎很好。但是您是否在系统上安装了邮件服务器。检查邮件服务器的设置(如果有)

http://php.net/manual/en/function.mail.php表示mail如果邮件被成功接受发送,则返回 TRUE,否则返回 FALSE。

需要注意的是,仅仅因为邮件被接受投递,并不意味着邮件实际上会到达预定目的地

于 2013-05-19T17:20:47.330 回答
0

如果您能够将数据发送到 .php,那么您遇到困难的一定是 php 方面。通过 php.ini 打开您的错误处理程序,它应该会告诉您您遇到的 php 问题是什么。

在包含电子邮件功能的 php 文件中,在脚本的最开头添加以下行:

<?php
error_reporting(E_ALL); 
ini_set('display_errors', true);

//your exiting script //
?>

然后重新运行脚本,如果它仍然不起作用,php 应该回显 php 问题供您调试。

于 2013-05-19T17:33:36.687 回答