web-dev-qa-db-ja.com

PHP mail()は、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などの何か?

前もって感謝します。

33
Globalfish

最後に私は解決策を見つけました。 error_log(/ Applications/XAMPP/xamppfiles/logs/error_log)を確認した後、エラーがあります:sendmail:fatal:chdir/Library/Server/Mail/Data/spool:No suchファイルまたはディレクトリ

ターミナルで以下を実行します。

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

79
Globalfish

上記のようにスプールフォルダーを作成した後、この記事の指示に従ってpostfixを構成しました OS Xヒント

特にphp.ini sendmailパスを編集して、特にいくつかの追加のスイッチを追加する必要がありました。

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