LAMP服务器拒绝使用PHP mail()函数发送电子邮件

LAMP服务器拒绝使用PHP mail()函数发送电子邮件,php,email,lamp,Php,Email,Lamp,我把我的LAMP服务器设置在树莓pi上 除了在PHP中使用mail()函数外,其他一切似乎都正常运行 我似乎不明白为什么它不起作用。我认为这与服务器设置本身有关。我想也可能是路由器阻止了来自服务器的传出流量,但我几乎100%肯定是LAMP服务器本身 <?php $to = "myemail@myemail.com"; $subject = $_POST['sub']; $body = $_POST['body']; mail($to, "Website Contact R

我把我的LAMP服务器设置在树莓pi上

除了在PHP中使用mail()函数外,其他一切似乎都正常运行

我似乎不明白为什么它不起作用。我认为这与服务器设置本身有关。我想也可能是路由器阻止了来自服务器的传出流量,但我几乎100%肯定是LAMP服务器本身

<?php
 $to = "myemail@myemail.com";
 $subject = $_POST['sub'];
 $body = $_POST['body'];

     mail($to, "Website Contact Request:".$subject, $body);

     $ret = $_POST['email'];
     if($ret!=null){
       mail($ret,"Anthony Russell.Info Auto-Reply","Thank you for your email, I will be in touch soon!");
      }

      header( 'LOCATION:index.php' ) ;
 ?>

更新
我刚刚学习了本教程,但没有成功

我认为您需要将第四个参数,
$headers
添加到
mail()
函数中。您应该在中至少放置一个
From:
标题。此外,您还可以将该函数放入
if/else
语句中,以测试返回值。如果返回
true
,那么PHP至少会将邮件发送给本地MTA。@Crackertastic所以我应该添加的是,这是我在GoDaddy上托管的站点的复制和粘贴。我真的把网页从Godaddy移到了我的家庭服务器上。godaddyhave you setup sendmail?JoniSalmi不知道那是什么,所以我猜不是。你能把它作为一个答案吗?老实说,这可能是很多事情(包括你说的服务器设置),但这只是我在脑海中注意到的一些事情。每个邮件服务器在处理电子邮件时都是不同的。您发送的邮件可能被标记为垃圾邮件,可能在服务器端处于慢速队列中,等等。不过,请再次将其放入
if()
中,然后查看您是否从中获得
true
。至少那时你知道PHP做了它的一部分,并把它交给MTA(希望)交付。就在几天前,我遇到了一个类似的问题,这是因为接收服务器上的垃圾邮件过滤器。