2012-07-27 96 views
33

我剛剛將OS X更新爲Mountain Lion,但php函數mail()不再有效。PHP郵件()在更新到OSX Mountain Lion後不再有效

在更新之前,PHP mail()函數工作正常,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還是別的?

在此先感謝。

+1

檢查'php.ini'中的'sendmail_path'並確保您的系統上安裝了'sendmail',並且路徑與PHP匹配。然後檢查您的系統日誌或日誌目錄是否有來自郵件服務器的錯誤。 – drew010 2012-07-27 23:09:30

回答

79

最後我找到了解決方案。 看error_log中(/應用/ XAMPP/xamppfiles /日誌/ error_log中)之後,有一個錯誤: 的sendmail:致命的:CHDIR /庫/服務器/郵件/數據/閥芯:沒有這樣的文件或目錄

做在終端上執行以下操作:

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

我在有關postfix的終端命令上出現了一些錯誤,但是你的解決方案工作正常! – ariestav 2012-07-31 17:18:44

+0

Fix爲我工作,雖然我在終端也得到了一些奇怪的警告。最後,它雖然工作! – 2012-08-02 05:41:32

+0

輝煌,謝謝! – Swader 2012-08-15 11:59:13

3

產生上述的後臺打印文件夾之後,我配置後綴中的說明這篇文章OS X Hints

我也不得不修改我的php.ini sendmail的路徑有一些額外的交換機,具體爲

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

這對我來說也是訣竅,謝謝 – gray 2013-08-21 10:39:09

相關問題