【解決】ワードプレスで、お問い合わせフォームや予約システム(Booking Packageなど)からメールが届かない!

ワードプレスでサイトを運営されている方、

  • お問い合わせフォーム(Contact Form7プラグインなど)からお問い合わせいただいても、管理者にも問い合わせいただいた方にも自動返信メールが届かない。
  • 予約システム(Booking Packageプラグインなど)からお客様から予約されても、管理者にもお客様にも自動返信メールが届かない。

とお悩みではないでしょうか?

特にGmail!

私もそうでした。

私はワードプレスでブログを運営してますし、ワードプレスでホームページ制作も行っています。

でもメールが届かなかったら、システムの意味ないですよね。

これはマズイ!ということで、いろいろ研究して、解決しました!

解決方法をわかりやすく書いていきます。

ワードプレスで、お問い合わせフォームや予約システムからメールが届かない原因。

メールが届かない原因は2つあります。

  • SPF(エスピーエフ)、DKIM(ディーキム)、DMARC(ディーマーク)が設定されてない。
  • 「サイトのドメイン」と「送信元のメールドメイン」が一致していない。

これらをひとつひとつ解決していくことでメールが届くようになりました。

SPF、DKIM、DMARCはどれも似たようなシステムで、「そのメールが怪しいサーバーから送られてないか」を調べるものですが、

特にGmailは最近セキュリティが厳しくなり、これらが設定されていないと迷惑メールにも届きません↓

Gmailユーザへメールが届かなくなる?Googleが発表した「新しいメール送信者のガイドライン」とDMARC対応を解説!|ブログ|NRIセキュア

解決方法。

解決方法は、ネットで検索すると「WP Mail SMTPプラグイン」を使う方法も書かれていたりしますが、私が試したところうまくいかなかった(メールが届かなかったり迷惑メールに入ったり)ので、地道にひとつひとつ解決していきました。

今から解説するやり方のほうが確実に問題を解決していくので、間違いないと思います。

それでは解説していきます。

SPF(エスピーエフ)、DKIM(ディーキム)、DMARC(ディーマーク)を設定する。

ワードプレスで借りているレンタルサーバーには、たいていメールサーバーの機能も備えてます。

ワードプレスのお問い合わせフォームや予約システムで、お客さまがフォームを入力し「送信」ボタンを押すと、そのメールサーバー(レンタルサーバー)からお客さまや管理者に自動でメールが送られます。

そのメールサーバー(レンタルサーバー)にSPF、DKIM、DMARCが設定されていないと、怪しいとみなされメールが届かないんです。

だからレンタルサーバー側で、SPF、DKIM、DMARCを設定していきます。

今回は「さくらのレンタルサーバー」を例に解説します。

どのレンタルサーバーでも同じような設定方法だと思うので参考にしてください。

さくらのレンタルサーバーのコントロールパネルから、

「メール」→「メールドメイン」↓

ここで、自分のワードプレスで使っているドメインが出てくると思います。「設定」→「メールドメイン設定」↓

SPFレコードを「利用する」にチェックを入れて、「保存する」↓(すでにSPFが設定されている場合はとばしてください)

次に、「設定」→「DKIM/ARC設定」↓

「秘密鍵を新規作成する」「DKIMレコード」は最初からチェックが入っていると思うので、「DMARCレコード」にチェックを入れます↓

そうすると下に何か出てくるので、「迷惑メールフォルダに保存する」が推奨されているそうなので選択して、「設定する」↓

このような画面になれば設定完了↓、「キャンセル ×」で閉じてください。

すぐには何もマークが付いてませんが、再読み込みするとSPF、DKIM/ARC、DMARCのマークがつきました↓

実は、これだけでもお問い合わせフォーム(Contact Form7)からの自動返信メールは届きます(Gmailでも)。試しにお問い合わせフォームからテストでお問い合わせしてみてください。

ただし実際に設定が反映されるまで少し時間がかかるそうなので、すぐには届かないかもしれません。数分後、もしくは数時間後に試してみてください。

私も設定してすぐはメールが届きませんでしたが、1日後にもう一度お問い合わせしたらメールが届きました(Gmailに)。

しかし、予約システム(Booking Package)からのメールは届きません(Gmail)。私はYahooメールも持ってるので、そっちも試してみると、

Yahooメールには迷惑メールに届きました。

「Contact Form7からのメールは届くのに、Booking Packageからのメールは届かなかったり迷惑メールに入ってしまう。なぜだ⁉」

と思いChatGPTに聞いてみると↓

とのこと。

どうやらBooking Packageはもうひと工夫必要なようです。

そこで「サイトのドメイン」と「送信元のメールドメイン」を一致させてみることにしました。これをすることで、よりメールの信頼性が上がります。

「サイトのドメイン」と「送信元のメールドメイン」を一致させる。

ちなみに「サイトのドメイン」とは、URLのここの部分のこと↓

「https://sample.com

「メールドメイン」とは、メールアドレスのここの部分のことです↓

「○○@sample.com

例えば当ブログのURLは「https://progstudy-trace.com」なのに(wwwは無視でいい)↓

送信元のメールアドレスが「○○@gmail.com」じゃあ一致していないのでダメなんですね↓。「○○@progstudy-trace.com」にすれば、一致しているのでOKです。

よく考えたら当然ですよね。

だって送信元メールアドレスはいくらでも偽装できていまいます。違う人のgmailアドレスを入力することだってできます。

だから「サイトのドメイン」と「送信元のメールアドレス」が違うと”あやしい”と思われてしまう。

逆に一致していれば信頼性が上がるわけです。

というわけで、「○○@progstudy-trace.com」というメールアドレスを作る必要があります。

さくらのレンタルサーバーの場合はこちらをご参考ください↓(簡単です。2:43くらまでで大丈夫です。)

例えば私の場合、「test-test@ドメイン」というメールアドレスを作ったので、「test-test@progstudy-trace.com」というメールアドレスが使えるわけです↓
(はじめから入っている「postmaster@ドメイン」を使ってもいいです)。

そしたら、Booking Packageの設定の「送信用メールアドレス」を「test-test@progstudy-trace.com」にして、保存↓

で、予約カレンダーから予約をしてみると、メールが届きました!

Gmailでもです。管理者にも予約者にも。

これで完了です!

ちなみに、ワードプレスの「設定」→「一般」→「管理者メールアドレス」と↓

Booking Packageの送信用メールアドレスは、必ずしも一緒である必要はありません↓

ワードプレスがサブディレクトリの場合は?

ワードプレスをサブディレクトリにインストールしている方もいるでしょう。

サブドメインとはこの部分↓

https://sample.com/○○

例えばwpというサブディレクトリを作って、そこにワードプレスをインストールし、

「https://sample.com/wp」というURLでサイトを運営している方。

その場合でもメールドメインは「sample.com」で問題ありません。

つまり送信元のメールアドレスは「○○@sample.com」で大丈夫です。お問い合わせフォームや予約システムからのメールは届きます。

まとめ。

いかがでしたでしょうか?

これで

  • SPF(エスピーエフ)、DKIM(ディーキム)、DMARC(ディーマーク)が設定されてない。
  • 「サイトのドメイン」と「送信元のメールドメイン」が一致していない。

この両方の課題をクリアしました。

管理者にも、お問い合わせ者・予約者にもメールが届くはずです。Gmailでも。

ぜひ参考にしてください。

タイトルとURLをコピーしました