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

♀尐吖头ヾ 提交于 2019-12-03 00:55:16

问题


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.


回答1:


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




回答2:


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


来源:https://stackoverflow.com/questions/11696609/php-mail-no-longer-works-after-update-to-osx-mountain-lion

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!