PHP mail()函数不返回true或false-脚本只是超时

PHP mail()函数不返回true或false-脚本只是超时,php,email,centos,Php,Email,Centos,php邮件功能已在Centos 5.7服务器上停止工作。包含函数调用的脚本在此服务器上一直工作到最近几天,但没有任何配置更改 无论何时调用mail()函数,PHP脚本都会在该行上暂停/冻结,直到达到脚本超时限制 $msgheader = 'MIME-Version: 1.0' . "\r\n"; $msgheader .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n"; $msgheader .= "From: Test Name

php邮件功能已在Centos 5.7服务器上停止工作。包含函数调用的脚本在此服务器上一直工作到最近几天,但没有任何配置更改

无论何时调用mail()函数,PHP脚本都会在该行上暂停/冻结,直到达到脚本超时限制

$msgheader  = 'MIME-Version: 1.0' . "\r\n";
$msgheader .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
$msgheader .= "From: Test Name <no-reply@servername.com>\r\n";

echo "About to send mail ->";
mail ("test@servername.com", "Test Subject", "Test Body", $msg_header);
echo "Script never reaches this line!";
$msgheader='MIME版本:1.0'。“\r\n”;
$msgheader.='内容类型:文本/html;字符集=iso-8859-1'。“\r\n”;
$msgheader.=“发件人:测试名称\r\n”;
回音“即将发送邮件->”;
邮件(“test@servername.com“,”测试主体“,”测试主体“,$msg_标题);
echo“脚本永远不会到达这一行!”;
我已经修改了这个问题的电子邮件地址,但我知道它们不是问题所在,因为之前脚本执行正确

我曾尝试将电子邮件地址更改为各种个人帐户(例如@yahoo.com),但仍然不起作用,因此我认为这不是由于我的用户所在组织的垃圾邮件过滤造成的

如果无法发送电子邮件,是什么原因导致邮件功能在脚本超时之前被卡住,而不是立即返回false?我可以查看哪些设置

谢谢

编辑:

  • Apache错误日志中没有错误
  • php.ini有:

    SMTP=本地主机; smtp_端口=25; sendmail_path=/usr/sbin/sendmail-t-i


此问题与服务器的DNS设置问题有关

尝试后:

yum update
很明显,服务器在连接到internet时出现问题。这解释了尝试建立出站连接以发送电子邮件时出现的长时间超时

我必须补充一点

搜索本地域


连接到CentOS中的my/etc/resolv.conf文件,以建立出站连接。既然我知道了这个问题,这个问题最好发布在ServerFault上。

检查您的日志文件以查看是否记录了任何错误。是否安装了新的服务器-邮件服务器?在php.ini中配置?apache错误日志中没有错误。我已经包括了php.ini配置。我已经打开了防火墙上的端口25,但它仍然没有修复它