メールフォームからの送信を有効にする方法(SELinuxの設定)
Contact Form 7
というプラグインを用いてお問い合わせ用のメールフォームを設置してみましたが,送信を試してみるとエラーメッセージが出て送信できていませんでした.
調べてみると,SELinuxがブロックしているみたいでしたので,解決方法をメモしておきます.
環境
- CentOS 7.2 (VPS)
- Apache 2.4.6
- WordPress 4.9.2
手順
1. ログを確認
とりあえず,以下のコマンドでログを確認します.
# tail /var/log/maillog
以下のようなメッセージが残されていました.
fatal: open /etc/postfix/main.cf: Permission denied
エラーメッセージでググると,どうもSELinuxが邪魔しているようです...
2. メール送信のためのSELinuxの設定
以下のコマンドでSELinuxにメール送信を許可してもらいます.
# setsebool -P httpd_can_sendmail=1
おわりに
お問い合わせ用フォームがきちんと動作するようになりました.
追記2018/2/27
お問い合わせフォームが動かなくなっていました.
理由としては,メール送信用のSMTPサーバーは自前で用意せずにGoogleのSMTPサーバーを使っていたためで,GoogleのSMTPサーバーが,私のサーバーからの通信をセキュリティ上の理由で遮断していました.
自前のメールサーバーを立ち上げ,Googleを使わないようにしましたので,正常に動くようになっていると思います.
Read other posts