我有一个提交给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和代码中配置07002
>在您的DNS中设置SenderID记录