更新到OSX Mountain Lion后,PHP mail()不再有效

时间:2012-07-27 22:48:12

标签: php email xampp osx-mountain-lion

我昨天刚刚将OS X更新到Mountain Lion,但php函数mail()不再起作用了。

在更新之前,PHP mail()功能正常,Apple邮件正常工作。 更新后,Apple邮件工作正常,但PHP mail()功能不起作用。

网络服务器:XAMPP 1.7.3

我使用此代码测试mail()函数:

if (mail($to, $object, $content, "From: ". $from)) 
{ 
    echo 'send '; 
} 
else 
{ 
    echo "not send"; 
}

它显示:not send

我必须改变什么?比如php.ini或其他什么?

提前致谢。

2 个答案:

答案 0 :(得分:79)

最后我找到了解决方案。 查看error_log(/ Applications / XAMPP / xamppfiles / logs / error_log)后,出现错误: sendmail:致命:chdir / Library / Server / Mail / Data / spool:没有这样的文件或目录

在您的终端上执行以下操作:

sudo mkdir -p /Library/Server/Mail/Data/spool
sudo /usr/sbin/postfix set-permissions
sudo /usr/sbin/postfix start

然后php mail()工作!

参考: https://apple.stackexchange.com/questions/54051/sendmail-error-on-os-x-mountain-lion

答案 1 :(得分:3)

如上所述创建假脱机文件夹后,我按照本文OS X Hints上的说明配置了后缀

我还必须编辑我的php.ini sendmail路径以获得一些额外的开关,特别是

sendmail_path=/usr/sbin/sendmail -t -i