PHP sendmail无法发送

我有一个提交给PHP自我的表格.该脚本运行并表示成功,但是我没有收到电子邮件.
    

if(isset($_POST['name']) and isset($_POST['email']) and isset($_POST['phone'])) 

{
   //setup variables from input    
 $EMAIL = "anem@il.com";    
 $inEmail = $_POST['email'];    
 $subject = "Enquiry from ".$POST['name'];   
 $name = $_POST['name'];   

 //setup message    
 $message = "Enquiry from: ".$name."\nEmail: ".$inEmail."\nPhone: ".$phone."\n\nDeparture Date: ".$departureDate."\n\nreturnDate: ".$returnDate;

 $message = wordwrap($message, 70);   


 //email enquiry details to site owner    
 if (mail($EMAIL, $subject, $message))    
 {    
  echo "Enquiry sent!";    
 } else    
 {
  echo "fail!";    
 }
?>

确实出现“已发送查询”消息.

我已经安装了postfix,也尝试安装sendmail.我已经使用nmap扫描了本地主机,并且smtp端口已打开.

任何人都可以看到未发送邮件的任何原因.

解决方法:

有很多可能的原因可以解释为什么发送和未接收您的电子邮件.除了设置SMTP服务器之外,还需要执行其他一些操作来确保电子邮件在到达目的地之前不会被丢弃.

您应该看一下这篇说明的文章,您应该检查什么:

http://www.codinghorror.com/blog/2010/04/so-youd-like-to-send-some-email-through-code.html

总之,您需要:

>确保发送电子邮件的计算机具有Reverse PTR record
>在您的DNS和代码中配置07​​002
>在您的DNS中设置SenderID记录

上一篇:如何将csv文件附加到php电子邮件(从magento root运行的代码)


下一篇:如何在linux上使用sendmail实用程序时设置主题行并添加附件?