2012-07-27 6 views
33

OS Xをマウンテンライオンに昨日更新しましたが、php関数mail()はもう動作しません。OSXマウンテンライオンへのアップデート後にPHP mail()が機能しなくなった

アップデートする前に、PHP mail()関数がうまくいきました.Apple mailは正常に動作します。 アップデート後、アップルメールは正常に動作しますが、PHP mail()の機能は動作しません。

Webサーバー:XAMPP 1.7.3

私はmail()機能をテストするには、このコードを使用します。

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

それは示しています。私は変更する必要がnot send

何を? php.iniなど、

ありがとうございます。

+1

php.ini' 'でチェック' sendmail_path'、あなたは 'システムにインストールし、パスがPHPと一致していることをsendmail'持っていることを確認してください。その後、syslogまたはlogsディレクトリでメールサーバーのエラーを確認します。 – drew010

答えて

79

最後に解決策が見つかりました。 のsendmail:致命的な:のchdir /ライブラリ/サーバー/メール/データ/スプール:そのようなファイルやディレクトリ

(/アプリケーション/ XAMPP/xamppfiles /ログ/ error_logを)のerror_logを見た後に、誤りがあります

はあなたのターミナルで以下の操作を行います。

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

そして、PHPのメールを()動作します!

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

+7

私は、ポストフィックスに関するターミナルコマンドにいくつかのエラーがありましたが、あなたのソリューションは機能しました! – ariestav

+0

修正プログラムは私のために働いていましたが、私はターミナルでも少し奇妙な警告を受けました。結局、それはしかし働いた! –

+0

華麗な、ありがとう! – Swader

3

前述のようにスプールフォルダを作成した後、私はまた、いくつかの余分を持っている私のphp.iniのsendmailのパスを編集する必要がありました。この記事の指示OS X Hints

次のpostfixを設定しスイッチ、特に

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

これは私にとってもやってくれた、ありがとう – gray

関連する問題