WordPressに設置したフォームから送られたメールがGmailアドレスに届かない問題。インターネットから拾う限り、2023年4〜5月あたりに発生し、Googleが規約を更新したことに起因したようでした。
この記事では、この届かない問題に対処する上で知り得た情報の整理と私の失敗を、もしまだトラブルに悩んでいる人のためにも、記録用として残してみたいと思います。
私はXサーバーを利用していて、ロリポップは使っていません。そのため、サーバーの仕組みとか関係性を含め、全体像の把握と解決策を見つけるのに苦労した、という話です。
今回の記事は、対象者が限定されます。ロリポップのレンタルサーバーを利用し、ムームードメインでドメインを取得・管理し、かつ「ロリポップDNS」を利用している人、向けの話です。「ムームーDNS」を利用している人は、参考になることもあるかもですが、注意が必要です。ご留意ください。
状況をちょっと整理します
今回の事象は、友人からの相談で知ることになりました。
友人の自社サイトに設置されているお問い合わせフォームの内容が、自分のGmailに送られてこないのを確認してほしいという。気づいたのは2024年はじめころ。「届いていない」認識でしたが、確認してもらったところ、迷惑メールフォルダに入っていたようでした。(いつからとか通数などは確認していません)
友人は、ロリポップでサーバーをレンタルし、同時にムームードメインで独自ドメインを取得。サイト運営に関しても、クライアントとのやりとりにも、すべて同じ仕事用のGmailアドレスを利用。サイトに設置しているフォームは、プラグイン「WPForms」を使っています。
私の場合、普段ほとんど問い合わせなんてないのでそもそも気づけず…。試しに設置してあるフォームから送ってみたら「なりすましメールかもしれませんよ?」というアラートと一緒に、受信フォルダに届くのを確認しました。
送信元メールアドレスをGmailのままで運用したいと考えた理由
先にも書きましたが、友人が仕事用としてメインに利用しているのは Gmail でした。サイト自体は独自ドメインで運用していますが、メールは利用していません。問い合わせを送ってきたクライアントさんとのやりとりもGmailアドレスから行っていましたし、WordPressの管理者アドレスも同じGmailアドレスを使っています。
クライアントさんのことを考えても、友人がメールを管理する利便性で考えても、稼働しているメールアドレスは一つにしておいた方が混乱を避けられるし、トラブル回避につながると思いました。
もちろんこれを機に、独自ドメインのメールをメインのメールアドレスに変更することもできましたが、こういうシステム的なことでストレスを作るのは本業の邪魔にしかなりません。
友人にとって一番馴染みのあるGmailのまま運用できる方法を見つけたいと思い、下記にある【独自ドメインのメールを利用してプラグインを設定する方法】は最終手段と考えていました。
WPのフォームからGmailに届かせる解決方法は4つあった
私がインターネットを徘徊してみつけた解決方法は、最終的に4つありました。先に結論をお伝えすると、現在は、【独自ドメインのメールを利用してプラグインを設定する方法】で落ち着いています。
でもこうしてまとめを記録する中では、【no-replayを使う方法】がベストではないかと思っています。
Google Cloudにある「Gmail API」を利用する
最初に友人のサイトに設定したのがこの方法でした。
インターネットで拾える解決策のほとんどがこの方法をとっていた気がします。今思うと探し方が悪かったのかもしれません。
とにかく、緊急性も高かったので、ひとまずこちらの方法でメールが正しく届くように友人のサイトを設定しました。
設定したからこそ言えることなんですが…。
メールは届くようになりますが、リスクが高いというか…玄人よりの解決方法なので、一般人にはおすすめできません。
一応、手順を解説してくださっているサイトをご紹介します。
「クライアントIDの発行は、GCP(Google Cloud Platform)で行う」の部分が、「Gmail APIを利用する」に該当します。
そもそも、Google Cloudを利用するにあたって、アカウントを登録する必要があって、最初は「無料お試し90日間」でスタートします。その際に、クレジットカードの登録を求められます。
怖くない?!
90日間が近づくと「アカウントを有効化(有料化)してください」というメールが届くようになります。90日間が過ぎたあと有効化しないままでも、機能は継続していましたし(フォームの送信は機能していました)、最初の請求も0円でした。とはいえ、この「Gmail API」が無料で使える範囲のものなのかは、Googleのヘルプを探してもはっきりしませんでした。私では力及ばず…。
それにしたって、どの記事を読んでも、この有効化のことに触れていない…。手順で紹介したのとは別の記事のサイトさんに問い合わせてみましたが(最初にみつけたところだったので)「有料じゃなくてもいいんじゃないですかね?知らんけど」みたいな珍回答で。
有効化するかしないかの選択は、この機能を使うか使わないかを指しているわけですから、「Gmail API」を使わない別の解決方法をとらない限り、有効化(有料化)しない選択はできないってことがわかっていないというのがもう、ね。
困っていたのはクライアントで自分には該当しないから詳細はわからないと返事をくれたけど、それで自分のクライアントさんは守れてるんですかね?っていう…。いやま、私が詳しくないのを棚にあげちゃだめなんですけど。
設定に関しても、方法を書いてくれている人のをみながらやってるのはずなのに上手くいかず、苦労しました。
最初にログインしたとき勝手に作られる最初のプロジェクトは使わないことをおすすめします。新しくプロジェクトを作るところからスタートしないとスムースに進まないんです。ご参考まで。
Googleアカウントにある「アプリパスワード」を利用する
Googleクラウドの有効化=有料化にずっと怯えながら過ごすのがどうしてもいやだった私は、さらに別の方法がないか探しました。そこで出会ったのがこちらの方法でした。
送信元をGmailにしたい人に一番おすすめしたい解決方法だと私は思っていまして、Google クラウドが無料のあいだに、友人も最終的にはこの方法にしようと考えました。
ところが…私のアカウントでは問題なくできたにもかかわらず、友人のアカウントではアプリパスワードを発行できませんでした。アプリパスワードを発行できない場合のGoogleのヘルプを読んでも全然わからない。
仕方なく、最初にお伝えしたとおり、【独自ドメインのメールを利用してプラグインを設定する方法】にて対策することになりました。
がここでも、実はやっかいな問題がおきていましたが、それは後述します。
独自ドメインのメールを利用して、プラグイン「WP Mail SMTP」を設定する
ワードプレスに設置したフォームから送られる「送信元メールアドレス」を、サイトの独自ドメインのメールに設定して、メールの送信元とサーバー情報を同じにしエラーをなくす方法です。ロリポップの公式ブログでもその方法が紹介されていますので、安心して使える方法と言えます。
そのためには、独自ドメインのメールを使えるようにしておく必要があります。
でも、独自ドメインのメールを稼働させるということは、このメールアドレスを管理するという負担が増えてしまう…。
さらにこの方法のデメリットは、サイトを運営するにあたり、Gmailメールの1本化ができなくなることと、フォームのコピーを記入者に送る場合に、Gmailではないアドレス=普段使っていないメールアドレスで送らなくてはいけなくなることです。
友人の場合、フォームのコピーをクライアントさんに送る設定にしていないので支障ないか、となりました。
差出人のメールアドレスを普段からチェックしている人もそういないでしょうし。ほとんど気づかれないとは思いますが…
返信先アドレス(Replay-To)をGmailに指定しておけば、独自ドメインのメールアドレスにクライアントさんからメールが届くことはないので業務に支障はなそうですけど、負担が増えることに違いはありません。
友人のことを考えれば、できれば避けたかったのですが、アプリパスワードが発行できない以上、仕方ありませんでした。
no-replay@独自ドメイン と Replay-To をフォーム作成プラグイン「WPForms」で設定する
今回のこの記事を書き進めるなかで、新たに発見してしまったのが、この【プラグイン「WP Mail SMTP」を使わずに設定する方法】です。これが一番らくなんじゃないのか?と正直思います…。
本当によく試してくださいました。
送信元アドレスのドメイン名とWordPressの置いてあるサーバーが同じドメインであれば、Gmailも弾かないということなのでしょう。私自身のサイトで試してみましたが、問題なく受信しました。
こちらの記事では、Replay-To欄への提案をあげてくれていますが、今回の友人の場合、no-replayアドレスがいいと思います。メールを送られた側:記入者や運営者の友人が、そのフォームを送ったWordPressに対して返信する理由がありません。
「このメールには返信できません」と明記し、送信元とReplay-To欄に、「no-replay@独自ドメイン」を記入。
クライアントさんは送られたフォーム内容のコピーに返信できないので、独自ドメインのメールアドレスは誰にも使われません。こちらからはいつものGmailで返信すればいいだけです。
デメリットとしては、「返事きませんけど?」みたいな問い合わせができなくなることでしょうか。とすると、Replay-To欄には、Gmailを設定しておくのがいいのかなぁ。
WordPressの運用でよく言われる、プラグインは極力少なくするっていうコツにも該当しますしね。
「どっちのDNS?」トラブル解決にあたって、致命的だったこと
実は、現在の【独自ドメインメールを利用する方法】もまた、すんなりとは設定できませんでした。
早くGmail APIから離脱したいのに、Googleアプリパスワードは設定できないなんて想定外だし、最後の手段と思っていた独自ドメインのメールが機能しないなんて…なぜ…。
その原因は、友人が設定しているネームシステムが、ロリポップDNSなのか、ムームーDNSなのかを理解していなかったことにありました。
ロリポップとムームードメインの関係は、このDNS設定を使い分けなくてはいけないことがややこしい!
Xサーバーの場合、ドメイン管理もXサーバー内でできるし、DNSもXサーバーです。「SPFレコード」もデフォルトで設定されています。DNSの設定になんて、意識が向いていませんでした…。
DNSって何ですか?と思っている方へ
Domain Name System(ドメインネームシステム)の頭文字をとった、インターネット専門用語です。あなたがもしロリポップレンタルサーバーなどの利用者の場合、自分のDNSが何かを知っていれば、DNS自体がなんなのかを理解していなくても、今回の問題は解決できます。
具体的なシステムの仕組みなどに興味がある方は、解説を検索してみてください。
知らないってコワイ。流し読みってキケン。記事の鵜呑みには要注意。
Gmailが届かない問題の全体像は、このサイト↓から学んだのですが、解決方法としては致命的なミスリードが含まれていて、うっかり独自ドメインのメールが機能しない状態を作ってしまいました。
記事中盤の「ロリポップレンタルサーバーを使っている方」にこう書かれていて…
ムームードメインをご利用の方は、ムームーDNSという設定を有効にしていただき、DNSの「カスタム設定」を行う必要がございます。
【2024年度最新】Gmailにメールが迷惑メールフォルダにも届かない!?ドメイン・WordPressの設定方法について
解説記事を書いてくださった会社さんは、ムームーDNS設定を利用するクライアントさんが多かったんでしょうか…
注意喚起のために、先に書いておきますが、自分が「ロリポップDNS」を利用している場合、この設定は必要ありません。今回のGmail問題で「ムームーDNS」に乗り換える必要はありません。
この記事を流し読みした私は、先にあげた4つの解決方法を行う前に、このカスタム設定に、「v=spf1 include:_spf.muumuu-mail.com ~all」と入れてしまっていました。SPFを設定しただけで直るはずもありません。気づいてすぐに「v=spf1 include:_spf.lolipop.jp ~all」へ変更しましたが、問題の本質はここではありませんでした。
「v=spf1 include:_spf.lolipop.jp ~all」ならまだしも、なんでmuumuuだったの…どこから拾ったんだか…
このSPFを設定したせいで、独自ドメインメールを利用する方法すらも失敗する自体に陥ってしまいました。
「ロリポップDNS」と「ムームーDNS」で「SPFレコード」の設定は異なります
ロリポップでメールが正しく動いていないことがわかったとき(WordPressのフォームが機能しなくなったので)、どうも「ムームーDNS」への変更を実行しないといけないような記述を発見しました。
カスタム設定を利用する場合もこちらのネームサーバーを選択してください。
ムームードメイン/コントロールパネル/ネームサーバ設定変更/ムームーDNS
ミスリードされてしまった記事の方法「ムームードメインのカスタム設定」を有効にするには、「ロリポップDNS」から「ムームーDNS」へ乗り換えなくてはならないという注意書きです。
さらに、変更には、24〜72時間かかるかも、という記述まで見つけてしまいました。最悪3日間もサイトが機能しなくなるなんて…。
DNS設定後、反映されるまでに24~72時間程必要です。
ロリポップ!レンタルサーバー / マニュアル / 独自ドメイン設定方法
(先に紹介した)ロリポップ公式サイトの記述には、ネームサーバーの変更にはまったく触れられていません。
公式サイトがこんな大事なこと書かないなんてありうる?
そんなとき気になったのが、こちらの記事タイトルの最後のカッコ書きでした。
さきの記事で紹介されているSPFレコードを設定する方法は、この公式サイトに記載されている内容です。でもそれは、「ムームーDNS利用」と書かれています。
あれ?友人のDNSなんだろう?
初期設定を利用していれば、ロリポップDNSで運用されているはず。自社サイト(とメール)しか使わないのに、わざわざムームーDNSに変更する理由が思い浮かびませんでした。
初期設定を行う手順を見直してみても、ロリポップDNSを利用していないはずがない。
ロリポップのレンタルサーバーを利用しながら、ムームーDNSを選択するのは、どういうときなんでしょうか?
自分のサイトのDNSを調べる方法もありますので、参考にしてみてください。
- ホスト名には、サイトのドメイン部分(sample.com)をいれます
- オプションを「TXT」にします
- そのまま「Dig実行」をクリックします
下の方にある、「NS」に続く部分のドメインで判別できます。
NS uns01.lolipop.jp.
NS uns02.lolipop.jp.
とあれば、ロリポップのDNSを利用しています
ロリポップDNSには、最初からSPFレコードが設定されていました
外部サイトでDNSを調べた結果、友人はロリポップDNSだとわかりました。そうなって出会えた記事がこちら。
ロリポップDNSを利用している場合、「SPFレコード」は、もともとデフォルトで設定されているとあるじゃありませんか!
つまり先ほどの記事にある設定は、ロリポップサーバーでムームードメインを利用し「ムームーDNS」で運用している場合にのみ、必要な手続きだったのです。
そうは読めない書き方されてますけど…最初の頃にこの記事に出会ってしまったのが、悔やまれます…。
ムームードメインのコントロールパネルでカスタム設定していた「v=spf1 include:_spf.lolipop.jp ~all」を削除した結果、無事にメールが稼働するようになりました。そうしてようやく、【独自ドメインメールを利用する方法】が完了しました。
感無量すぎて、この経緯を、解決の記念に書き記すことにしました。
【まとめ】様々な問題を先んじて解決してくださる方々と言えど…
なるべく偏りがないように、たくさんの記事を読み比べるようにしているつもりでしたが、今回はしんどかった。ネットワークに関わることを、根本では理解していない自分の無知を思い知る結果となりました。
自分のサイトの問題なら、多少の失敗も構わないですが、こういうネットワーク界隈に詳しくない人にしてみたら、本当にストレスフルな問題だったろうなと思います。
さくっとするっと解決できなかったことが、申し訳ない…。
しかも現在、また別の方法を知ってしまっているので…。次に会う機会にまた説明させていただきたいと思います。
今までにも、何かにつまづくたびに、先んじて解決してくださっている人の記事を参考に、様々な問題と向き合ってきました。毎回気になるのは、「お前、実際は設定してないだろ!」っていう印象を受ける記事の多さです。
そういうことも踏まえて、今回はなるべく公式情報にあたるようにしてたのは、我ながらよくやりました。信頼できる記事と出会える確率があがることを、願わずにはいられません。
それでも、書いてくださった方がいなかったら解決はできなかったわけで、心からお礼を申し上げます。ありがとうございました。