【対処法】wordpress からメールが送信できない

公開日:

wordpressからメールが送信できない事象を解決したので備忘録。

なお、これはwordpressにかぎらずApacheからメール送信するときは関係ありそう。

 

前提

  • wordpressからWp Mail SMTPで送信テスト。
  • SMTPはpostfixで同サーバー内に構築。

症状

  • wordpressからメールが送信できない。
  • sshからphpのmail関数を使うと送信できる。
  • postfixのmaillogを見ると/etc/postfix/main.cf が Permission deniedになっている。
  • main.cfの権限は特に問題なし

解決

犯人はまたSELinuxさん。

SELinuxの設定でhttpdからのメール送信が拒否されていた。

設定の確認

getsebool -a | grep httpd

上記コマンドを実行して httpd_can_sendmail が false になっていることを確認できたらこいつが原因。

設定変更

sudo setsebool -P httpd_can_sendmail=1

これを実行する。

その後、wordpressからメールを送信してみてできたらOK。

できなかったら

以下を実行してみよう。

  • まずログを見る。
  • 次にログを見る。
  • そしてログを見たら、
  • 内容を確認して原因を推定する。
  • ログに従って修正する。

原因として可能性があるのは

  • postfixの設定が間違っている。
  • そもそもメールサーバー建ててない
  • SELinuxの何か他の設定が邪魔している。
  • そもそもsendmailが使えない
  • ドメインのDNSレコードの設定が間違ってる。
  • その他

それでは良きメールライフを(?)