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!";
我已修改此问题的电子邮件地址,但我知道它们不是问题,因为之前脚本已正确执行。
我已尝试将电子邮件地址更改为各种个人帐户(例如@ yahoo.com)但仍然无效,因此我认为这不是由于我的用户所在组织的垃圾邮件过滤。 / p>
如果无法发送电子邮件,可能导致邮件功能陷入脚本超时而不是立即返回false的原因是什么?我可以看什么设置?
谢谢!
修改
php.ini有:
SMTP = localhost; smtp_port = 25; sendmail_path = / usr / sbin / sendmail -t -i
答案 0 :(得分:0)
此问题与服务器的DNS设置问题有关。
尝试后:
yum update
很明显,服务器连接到互联网时遇到了问题。这解释了尝试进行出站连接以发送电子邮件的超时超时。
我必须添加
搜索localdomain
到我在CentOS中的/etc/resolv.conf文件中建立出站连接。现在我知道这个问题,这个问题最好发布在ServerFault上。