ワードプレスでサイトを運営されている方、
- お問い合わせフォーム(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でも。
ぜひ参考にしてください。