我有一个提交给 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 端口已打开。
谁能看出邮件未发送的任何原因。
最佳答案
检查您的邮件日志(通常是/var/log/maillog)。它将显示来自 PHP 的消息,以及来自接收方 MX 的任何传递尝试/拒绝通知。
关于PHP sendmail 不发送,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3746123/