Linux

PHP mail() 函式凍結

  • October 26, 2016

我遇到了一個問題,即 /var/lib/php/session 的權限被覆蓋,因此我無法再在 PHP 中創建會話變數。

我認為我的郵件功能也發生了同樣的事情。郵件功能位於 linux 伺服器中的哪個位置以便我可以對其進行 chmod?


編輯

一些附加資訊:

$ "This is a test" | mail -s "Testing 123" team_pegasus@rayhawk.com
-bash: This is a test: command not found
Null message body; hope that's ok
postdrop: warning: mail_queue_enter: create file maildrop/111989.3781: Permission denied
postdrop: warning: mail_queue_enter: create file maildrop/112524.3781: Permission denied
postdrop: warning: mail_queue_enter: create file maildrop/113649.3781: Permission denied
postdrop: warning: mail_queue_enter: create file maildrop/114574.3781: Permission denied
postdrop: warning: mail_queue_enter: create file maildrop/115551.3781: Permission denied

chmod: changing permissions of `/usr/sbin/sendmail.postfix': Operation not permitted

chmod: changing permissions of `/usr/sbin/sendmail': Operation not permitted

mail() 函式根據您的配置方式執行許多不同的操作。例如,您可以將其指向外部 SMTP 伺服器,如果是這種情況,那麼您的本地系統上沒有任何東西可以觸摸。

如果您沒有更改預設設置,那麼您正在系統上執行一些郵件傳輸代理,但有很多可能性。您實際上是在執行 sendmail,還是只是在執行一些具有 sendmail 兼容二進製文件的工具?我相信 Postfix 是 Centos 上的預設 MTA。不幸的是,我不確定假離線文件夾的名稱以及預設權限應該是什麼。

如果沒有其他人回答具體問題,那麼我建議您快速設置一個類似於您的主系統的虛擬機,然後簡單地比較然後修復權限。

您還可以從命令行 shell 進行測試。只需執行類似echo 'test' | sendmail youraddress@example.org.

引用自:https://serverfault.com/questions/313667