Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/404.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript mail()不返回任何值_Javascript_Php_Ajax_Email - Fatal编程技术网

Javascript mail()不返回任何值

Javascript mail()不返回任何值,javascript,php,ajax,email,Javascript,Php,Ajax,Email,我是php的初学者,发现了一个简单的邮件函数。代码如下: private function sendEmail() { $to = $this - > email; $subject = $this - > subject; $message = $this - > name. " : ". $this - > message; $header = "From: ".$this - > email; $mail = mail($to, $su

我是
php的初学者,发现了一个简单的邮件函数。代码如下:

private function sendEmail() {

  $to = $this - > email;
  $subject = $this - > subject;
  $message = $this - > name. " : ". $this - > message;
  $header = "From: ".$this - > email;

  $mail = mail($to, $subject, $message, $header);

  echo $to, $subject, $message, $header, $mail, "End";

  if ($mail) {
    $this - > response_status = 1;
    $this - > response_html = 'Thank You!';
  } else {
    echo "Mail not found";
  }
}
当我从Javascript调用它时,它总是落在
$.ajax
的错误块中,但没有抛出错误消息。当我在网络选项卡中检查ajax调用的响应时,我得到了所有变量的正确值($to、$subject、$name、$message、$header),但
$mail
始终为空

另外,我从else块收到未找到的邮件

谁能给我指出正确的方向吗

我在XAMPP(Ubuntu15.10)上的localhost上运行它

以下是响应的快照:


看看这个。如果对你有用,很可能你没有任何实际发送邮件的应用程序,例如sendmail for*nix。

很可能是。使用调试它以查看它包含的内容。您还没有向我们展示如何从Ajax调用它。那是另一个问题。在PHP中,$mail的值将是true或false。您进入函数中返回“mail not found”的块的事实表明它返回的是false。因此,这里的实际问题是javascript中的错误块正在处理此代码吗?显示您的Javascript,然后。。。此外,此函数不返回任何内容。也许这是你的错误,但我们不能说,因为我们没有足够的code@PeeHaa,你说得对。这是假的。我需要smtp服务器吗?我在w3schools上读到,
邮件
不需要任何安装。您至少需要一些能够在您的机器上发送邮件的代理/传输<代码>邮件
只需将邮件传递给实际要发送的对象即可。或者使用外部smtp服务器。我确实尝试按照步骤操作,但现在得到另一个。我已经安装了ssmtp,现在出现以下错误:ssmtp:无法打开smtp.gmail.com:587。但还是要谢谢你的帮助试试这个?