WordPressでContact Form 7でメールが届かない?送信サーバーを変えたりログを取る方法

WordPress

WordPressで、お問い合わせ画面などは、Contact Form 7というプラグインを使っている人が多いと思います。

私もWordPressで運営しているサイトでは、必ず、Contact Form 7をインストールしています。

Contact Form 7は、簡単でとても便利なのですが、あるとき

CPIというレンタルサーバーで運用していたWordPressを mixhost (ミックスホスト) に移行したところ、Contact Form 7からのメールが送れなくなってしまいました (届かなくなってしまいました)。

mixhost (ミックスホスト) については以下に詳しく書いています。

mixhost (ミックスホスト) アダルトOK、SSL付き (エックスサーバーから引越し)
少し前までは、エックサーバーが最もよく使われているレンタルサーバーでした。 ところが、最近、mixhost (...

メールが届かなくなったので、原因はmixhost (ミックスホスト) にあるのかな?と思っていたのですが、必ずしもそうではないようです。

また、メールの受信サーバー側がmixhostからのメールをスパム扱いして拒否しているということもないようです。

スポンサーリンク
スポンサーリンク

Contact Form 7でメールが届かない現象の整理

今回のケースで、Contact Form 7でメールが届かない現象の整理してみました。

Contact Form 7の送り先 独自ドメインの
メールアドレス宛て
gmail宛て
CPIでWordPressを運用
mixhostでWordPressを運用 ×

mixhost で運用していても、gmail あてにはメールが届きました。

一方、独自ドメインあてにはメールが届きません。

そういえば、mixhostに移行してから、独自ドメインのメールアドレスには、Contact Form 7からのメールだけでなくて、ユーザーを追加した際にWordPressから送られるメールも届きませんでした。

冷静に考えてみると、Contact Form 7は、localhostのSMTP (ポート25)をデフォルトのメール送信サーバーとしてメールを送っているんでしょうね。

mixhost では、localhostのSMTP (ポート25) が閉じているのではないでしょうか?

という訳で、メールの送信サーバーを変えてみることにしました。

WP Mail SMTP をインストール

Word Pressで送信サーバーを自由に設定するには、WP Mail SMTPというプラグインをインストールします。

その後、設定画面を開きます。

SMTP ホストに、SMTPサーバーを設定します。私の場合、独自ドメインで運用している送信サーバーを設定しました。

SMTPポートは、デフォルトでは25番(SMTP)でよいと思います。ただ、最近は、587番ポート(サブミッションポート) と合わせて、SMTP-AUTH のための認証IDとパスワードが必要になることがあります。

取り急ぎ、WP Mail SMTPを設定するとメールが届くようになりました!

Contact Form 7でメールの送信ログを取得する

さらに、万が一メールが送れなかったときのために、メールの送信ログを取りたいと思ってプラグインを探したところ、Contact Form DB (CFDB) というのを見つけました。

Contact Form DB (CFDB)は、とても便利なのですが、公式のプラグインではありません。

以下のURLからダウンロードしてインストールします。

https://github.com/mdsimpson/contact-form-7-to-database-extension/releases

最新の contact-form-7-to-database-extension-2.10.34.zip をダウンロードしてプラグインとしてインストールします。

インストールする際は、zipファイルを解凍せずに、そのままWordPressでインストールします。

Contact Form DBをインストールすると以下のように、Contact Form 7を使ってメールを送信した際に、送った人をデータベースに保存して管理することができます。

このリストはこのまま、ExcelやCSVでダウンロードすることが可能です。

お問い合わせが多いケースでは、これがあると便利ですね。

まとめ

WordPressのお問い合わせで使うプラグインは、Contact Form 7です。

WordPressから送るメールの送信サーバーを変更する際に使うプラグインは、WP Mail SMTPです。

Contact Form 7の送信ログを取得するプラグインは、Contact Form DBです。ただし、Contact Form DBは公式のプラグインではないので、WEBサイトからプラグインのzipファイルをダウンロードしてインストールします。