WordPressの管理者メールアドレスを独自ドメインメールからGmailに変えたら、Contact Form 7からメールが届かなくなりました。
これは、送信されたメールアドレスがWEBサーバーのドメインと異なるためにサーバー側でブロックされてしまうことが原因でした。
今回はGmailにすると通知が届かない理由と、その対処方法を紹介します。
「Contact Form 7」の仕組み
WordPressにはWEBサイトのお問い合わせフォームとして有名なプラグイン「Contact Form 7」があります。
設定画面で細かい指定ができ、設定が終わったら、ショートコードを貼り付けるだけで簡単にお問い合わせフォームが設置できます。
「Contact Form 7」の設定画面を見てみる
WordPressダッシュボードより、[お問い合わせ]/[コンタクトフォーム]/[お問い合わせ編集]と開きます。
[メール]タブを開きます。
[送信先]は、[_site_admin_email]となっています。
[_site_admin_email]とは、[一般設定]の中で、[管理者メールアドレス]に記載されたメールアドレスを指しています。
管理者メールアドレスとは
WordPressダッシュボードより[設定]/[一般]を開くと、[管理者メールアドレス]があります。
この管理者メールアドレスに「Contact Form 7」からのメールや、WordPressからのお知らせメールが届く仕組みになっています。
どんなメールアドレスでも登録できるのですが、Gmailにするとメールが届かなくなるというエラーが起きてしまいます。
GmailにするとWEBサーバー側にブロックされてしまう
「Contact Form 7」から送信されたメールはGmailに直接届くのではなく、WordPressを設置しているWEBサーバーに届きます。
そのためメールアドレスをGmailにしていると、サーバー側で「これ、うちのメール宛てじゃないから削除」となってしまうようです。
WordPressからのメールが全て届かなくなる
管理者メールアドレスをGmailに変更してから、Contact Form 7からのメールだけでなく、WordPressの自動更新など以前は届いていたWordPressからのメールが届かなくなっていることが分かりました。
「管理者メールアドレス」をGmailに設定している限り、全てのメールがブロックされてしまうようですね。
対処法:管理者メールアドレスを独自ドメインメールにする
「Contact Form 7」や、WordPressからのメールを届くようにする最適な方法は、管理者メールアドレスをGmailから独自ドメインメールにすることです。
WordPress関連のメールは全て独自ドメインメールに集約することで、管理もしやすくなるのでおすすめです。
私も当初は独自ドメインメールにしていました。なぜ最初に設定していた独自ドメインメールをやめてGmailにしたかというと、GmailのPOP3受信が遅いことが理由でした。
でも、メールアドレスを変更して受信が遅くなるどころか、届かなくなってしまっては本末転倒です。
結局、独自ドメインのメールアドレスに戻すことにしました。
紹介した記事の中に、Gmail経由でのPOP3受信の遅さを対処できる方法を載せていますのであわせてご覧ください。
どうしてもGmailがいい!という場合の対処法は2つ
いやいや、どうしてもGmailがいい!という人は、対処する方法は2つあります。
- エックスサーバーで「SPF設定」の「Gmail許可設定」をONにする
- プラグイン「WP Mail SMTP」を使う
①のエックスサーバーでの設定を行うとメール到達率はかなり上がるはずです。
私は「SPF設定」を行ったらメールが届くようになりました。
それでも100%ではないみたいなので、どうしても届かない場合は、③のプラグインを入れる方法を試してみてください。
①エックスサーバーで「SPF設定」の「Gmail許可設定」をONにする
この「SPF設定」をすることで、送信メールの改ざんやなりすましを防ぎ、送信メールの信頼性向上やメール到達率の向上が期待されます。
「SPF設定」はエックスサーバーでは初期設定で「ON」になっています。
設定が必要なのは、「Gmail許可設定」の項目です。
設定方法
エックスサーバーのサーバーパネル画面から[メール]/「SPF設定」/[ドメイン選択画面]と進みます。
「Gmail許可設定」は初期設定ではOFFになっているので、[Gmail許可の追加]を押してONにします。
この設定を行うには独自ドメインのメールアドレスを持っていることが条件となります。
(持っていないとエラーが出て設定画面に進めません)
なので、先にメールアカウントを作成しておくことが求められます。
②プラグイン「WP Mail SMTP」を使う
「WP Mail SMTP 」 は、通常のメール送信と同じSMTP経由でメールを送れるプラグインです。
プラグインを入れすぎるとサイトが重くなってしまうので、①の設定をしてもダメだった場合に、こちらの方法を試してみては。
管理者メールアドレスのおすすめは独自ドメインメール
ここまで管理者メールアドレスをGmailに変えてからの不具合を紹介してきました。
対処法としては、次の3つになります。
- 管理者メールアドレスを独自ドメインメールにする
- エックスサーバーで「SPF設定」の「Gmail許可設定」をONにする
- プラグイン「WP Mail SMTP」を使う
私のおすすめは①です。Gmailにこだわりがなければ、これが一番安心で確実な方法だと思います。
ちなみに②の「SPF設定」をした場合も、届くようにはなりましたが、100%ではないという情報もあるので、やはり安心な方法は①の独自ドメインメールにすることかなと思います。
Contact Form 7からのメールが届かなくて困っている人、ぜひ試してみてくださいね。
最後まで読んでいただきありがとうございました。