PHP邮件()在更新到OSX Mountain Lion后不再工作


PHP mail() no longer works after update to OSX Mountain Lion

我昨天刚刚将OS X更新为Mountain Lion,但php函数mail()不再工作。

在更新之前,PHP mail()函数运行良好,Apple mail运行良好。更新后,苹果邮件运行良好,但PHP mail()功能不起作用。

网络服务器:XAMPP 1.7.3

我用这个代码来测试mail()功能:

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

显示:not send

我有什么需要改变的吗?比如php.ini或其他什么?

提前谢谢。

终于找到了解决方案。查看error_log(/Applications/XAMPP/examplefiles/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

如上所述创建spool文件夹后,我按照本文OSX提示中的说明配置了postfix

我还必须编辑我的php.ini发送邮件路径,以便有一些额外的开关,特别是

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