web-dev-qa-db-ja.com

PHP mail()関数のフリーズ

/ 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
3
Steve Robbins

Mail()関数は、方法に応じてさまざまなことを行います 構成 。たとえば、外部SMTPサーバーをポイントしている可能性があります。その場合、ローカルシステムには何もアクセスできません。

デフォルトから変更していない場合は、システムでメール転送エージェントを実行していますが、多くの可能性があります。実際にsendmailを実行していますか、それともsendmail互換のバイナリを持つツールを実行しているだけですか? PostfixがCentosのデフォルトのMTAだと思います。残念ながら、スプールフォルダーの名前と、デフォルトのアクセス許可を確認する必要があります。

他に誰も詳細に答えない場合は、メインシステムと同様の仮想マシンをすばやくセットアップし、権限を比較して修復することをお勧めします。

コマンドラインシェルから、テストすることもできます。 echo 'test' | sendmail [email protected]のようなコマンドを実行するだけです。

3
Zoredache

Php.ini(デフォルト:/ usr/sbin/sendmail)に設定されているsendmail_path変数を確認します。これは、php mail()関数によって使用されます。

2
SparX

# /etc/postfix/post-install set-permissions

2
Steve Robbins