I just updated OS X to Mountain Lion yesterday, but the php function mail()
does not work anymore.
Before updating, the PHP mail()
function worked fine, Apple mail works fine.
After updating, Apple mail works fine, but PHP mail()
function DOES NOT work.
Webserver: XAMPP 1.7.3
I use this code to test the mail()
function:
if (mail($to, $object, $content, "From: ". $from))
{
echo 'send ';
}
else
{
echo "not send";
}
It shows: not send
Anything I have to change? such as the php.ini
or something else?
Thanks in advance.
Finally I found the solution.
After looking at the error_log (/Applications/XAMPP/xamppfiles/logs/error_log), there is an error:
sendmail: fatal: chdir /Library/Server/Mail/Data/spool: No such file or directory
Do the following at your terminal:
sudo mkdir -p /Library/Server/Mail/Data/spool
sudo /usr/sbin/postfix set-permissions
sudo /usr/sbin/postfix start
Then the php mail() works!
Reference:
https://apple.stackexchange.com/questions/54051/sendmail-error-on-os-x-mountain-lion
After creating the spool folder as described above, I configured postfix following the directions on this article OS X Hints
I also had to edit my php.ini sendmail path to have some extra switches, specifically
sendmail_path=/usr/sbin/sendmail -t -i