Php mail()函数不使用';他似乎不在工作

Php mail()函数不使用';他似乎不在工作,php,Php,我正在使用以下代码尝试发送电子邮件-我看不出有任何问题-但它不工作,它显示消息“email sent”,但我没有收到任何东西 <?php $to = "email@address.com"; $subject = "Query"; $message_body.="Name: ".$_POST["name"]."<br>\n"; $message_body.="JobTitle: ".$_POST["jobtitle"]."<br>\n"; $message_body

我正在使用以下代码尝试发送电子邮件-我看不出有任何问题-但它不工作,它显示消息“email sent”,但我没有收到任何东西

<?php
$to = "email@address.com";
$subject = "Query";
$message_body.="Name: ".$_POST["name"]."<br>\n";
$message_body.="JobTitle: ".$_POST["jobtitle"]."<br>\n";
$message_body.="Phone: ".$_POST["phone"]."<br>\n";
$message_body.="Email: ".$_POST["email"]."<br>\n";
$header = "Reply-To: ".$_POST["email"]."\n";
$header .= "Content-type: text/html;
mail($to, $subject,  $message_body, $header);
echo "Email sent";
?>
您的示例在最后一个$header行中缺少一个“

尝试添加:

error_reporting(E_ALL);
ini_set("display_errors","On");
在文件的开头显示您收到的错误/警告。很可能sendmail未在您的服务器上运行

检查1)为了使邮件功能可用,PHP需要安装并运行电子邮件系统。要使用的程序由PHP.ini文件中的配置设置定义

你提到没有错误,所以下一步

检查2)检查函数的返回值..TRUE或FALSE

检查3)通过启用错误报告(E_ALL)查看是否有任何警告

检查4)实际发送的邮件,但转到垃圾邮件文件夹

对于mail(),需要注意的是,仅仅因为邮件 接受投递,并不意味着邮件将实际送达 预定目的地


此外,它在Windows和Unix中的工作方式也有所不同。

请尝试检查SMTP服务器配置。


它可能会阻止您的邮件。

当然,它会显示“电子邮件已发送”“因为你从不检查它是否真的被发送了。根据
邮件:如果邮件被成功接受发送,则返回TRUE,否则返回FALSE。注意邮件标题注入,切勿信任用户内容!应该使用
\r\n
对邮件标题进行换行。首先删除