我一直在四處尋找stackoverflow和許多其他網站的想法,但沒有任何工作到目前爲止,我需要更直接的幫助。php mail()返回false,但不是在命令行
我有一個專用的Ubuntu服務器(9.04 jaunty),我在那裏用apache2運行幾個PHP網站。我的問題是,mail()函數已停止工作。一段時間以來,我一直在使用PEAR Mail Queue來處理大多數電子郵件,所以我不確定郵件()什麼時候停止工作,但我仍然需要它用於OpenCart設置,還有一些其他的事情,但郵件()無論我做什麼,都會使返回錯誤。即使這樣簡單的代碼將無法正常工作:
<?php
mail('[email protected]','test','test');
?>
所以,我一直在尋找在php.ini中的Sendmail的設置,所有檢查,當我在命令行中運行它,它工作正常並給我發來電子郵件:
# sendmail
[email protected]
test message
所以我想這可能是PHP本身是有問題的,所以我嘗試使用以下命令:
# php -r "mail('[email protected]','test','test');"
而且它還會發送電子郵件沒有任何問題!那可能是什麼?我開始認爲這可能是某種權限問題,也許www-data在運行腳本時遇到了一些問題。仍然不知道這一點,因爲我甚至不能運行這個腳本:
<?php
echo exec('whoami');
?>
它也返回false!我已經運行了visudo命令命令並添加以下行,以防萬一:
www-data ALL=(ALL) ALL
而且我已經改變了從根文件的用戶和組業主:根到www數據: www-data但仍然沒有!
我還能試試嗎?一定有一些東西!誰能幫我?
在使用郵件失敗時,您是否在系統郵件錯誤日誌(/ var/log/mail或類似的東西)中看到任何錯誤? –
刪除'mail()'。使用「PhpMailer」,並通過「SMTP」傳送,並且您處於安全的地面。 –
有很多錯誤說'SYSERR(UID0):你是誰?:Permission denied'和一些抱怨RunAsUser和TrusedUser行的submit.cf文件'未知用戶smmsp:Permission denied'其中smmsp在兩者上都設置。我該怎麼做? @Louis – user1663164