phpでメールが飛ばない

お客さんのサイト(クラウド)がwordpressの脆弱性を狙ったアタックをくらってハングしていたのでサーバーを再起動した。
すると、(ログを見ると攻撃より前から?)phpのmail関数やmb_send_mail関数でメールが飛ばなくなってしまった。

とりあえずサーバーからmailコマンドでメールを送ってみる

echo "test" | mail -s "test" test@example.com

うん、届く。
どうやらphpだけがおかしいらしい。

phpでmailとなると、関わってくるのはphp.iniだろう、とこちらを参考に覗いてみる。

vi /etc/php.ini

ここから、sendmail_pathという記述を探す。

; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
;sendmail_path = /usr/sbin/sendmail -t -i
sendmail_path = /usr/sbin/postfix -t -i

こうなってた。
このサーバー構築したのはもう辞めちゃった先輩なのでよく分からんけど、特に何も問題はなさそうだ。
…んが、メールが送れない。
で試しにこうしてみた。

; For Unix only. You may supply arguments as well (default: "sendmail -t -i").
sendmail_path = /usr/sbin/sendmail -t -i
;sendmail_path = /usr/sbin/postfix -t -i

送れた。
…つーかなんで今まで送れてたんだ。

ついでにこのサーバーの設定を見直している時にSELinuxが有効になっていたのを発見したのでこちらを参考にそれをオフにしておいた。

サーバーってむつかしい。

あわせて読みたい

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)