/ var/lib/php/sessionのパーミッションが上書きされ、PHPでセッション変数を作成できなくなるという問題がありました。
私のメール機能でも同じことが起こっていると思います。 Linuxサーバーのメール機能はどこにありますか?chmodできますか?
いくつかの追加情報:
$ "This is a test" | mail -s "Testing 123" [email protected]
-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だと思います。残念ながら、スプールフォルダーの名前と、デフォルトのアクセス許可を確認する必要があります。
他に誰も詳細に答えない場合は、メインシステムと同様の仮想マシンをすばやくセットアップし、権限を比較して修復することをお勧めします。
コマンドラインシェルから、テストすることもできます。 echo 'test' | sendmail [email protected]
のようなコマンドを実行するだけです。
Php.ini(デフォルト:/ usr/sbin/sendmail)に設定されているsendmail_path変数を確認します。これは、php mail()関数によって使用されます。
# /etc/postfix/post-install set-permissions