Contact Form 7のメールが迷惑メールになる原因は?確認すべきポイントと対処法

Contact Form 7のメールが迷惑メールになる原因は?確認すべきポイントと対処法
悩みを抱えている人

悩む人

・Contact Form 7を使っているけど、メールが迷惑メールに入ってしまう
・設定を見直しても、なぜか改善しない

Contact Form 7でフォームを設置しても、フォームから送信された通知メールや自動返信メールが迷惑メールに振り分けられてしまうと、問い合わせに気づけず、機会損失につながる可能性があります。

原因はContact Form 7そのものとは限らず、送信元アドレスやメールの配送経路、SPF・DKIM・DMARCなどの認証設定が関係しているケースもあります。

この記事では、Contact Form 7のメールが迷惑メールになる原因を順番に切り分けながら、確認方法と対策まで解説します。

阿部 武士のアイコン

小さなウェブ集客のミカタ 阿部

実際に当サイトでも、メール認証の不一致によってDMARCが失敗していたケースがあり、送信経路を見直すことでSPF・DKIM・DMARCすべてPASSまで改善しました。

同じように「設定は合っているはずなのに迷惑メールになる」という方は、順番に確認してみてください。

Contact Form 7のメールが迷惑メールになる主な原因

「送信自体はできているのに迷惑メールに入る」という場合、まず確認したいのがメール認証の不一致です。

特に、SPF・DKIM・DMARCと呼ばれるメール認証が正しく機能していないと、受信側から「このメールは本当にこのドメインから送られたのか?」と疑われやすくなります。

そのため、まずはこの3つの認証状態を確認してみましょう。

SPF・DKIM・DMARCの意味

それぞれの役割を簡単に整理すると、以下のようになります。

SPFそのメールが、送信を許可されたサーバーから送られているかを確認する仕組み
DKIMメールに電子署名を付けて、送信途中で改ざんされていないか・正しいドメインから送られたかを確認する仕組み
DMARCSPFやDKIMの結果をもとに、Fromに表示されたドメインと認証結果が一致しているかを確認し、失敗時の扱いを決める仕組み

ざっくり言えば、

SPF=送信元確認、DKIM=電子署名、DMARC=なりすまし判定ルール

と考えるとわかりやすいです。

それでは、実際のメールで認証状態を確認してみましょう。

メール認証を確認する方法(Gmail)

ここでは、メール認証の設定状況を確認する方法をご紹介します。

確認方法は使用しているメールソフトによって異なりますが、今回は一例としてGmailでの確認手順を解説します。

阿部 武士のアイコン

小さなウェブ集客のミカタ 阿部

他のメールソフトでも表示される文言や操作方法は多少異なりますが、確認するポイントは基本的に同じです。

1.Gmailにて受信トレイまたは迷惑メールなど確認したいメールを開きます。

Gmailの受信トレイ画面

2.画面右側の「3点リーダアイコン」をクリックし「原文を表示」をクリックします。

Gmailのメニューから原文を表示を選ぶ画面

表示された内容の「件名」下に「SPF」、「DMARC」、「DKIM」の状態が表示されています。

Gmailの原文表示画面

PASSと開始されていると認証が通っていますが、FAILが表示されている場合は認証に失敗しています。

阿部 武士のアイコン

小さなウェブ集客のミカタ 阿部

こちらのメールではDKIMが表示されていませんが、サーバーからDKIMの情報が添付されていないため表示されていません。この場合も認証されていないことを示します。

実際に当サイトで起きていた原因

実際に当サイトでContact Form 7から送信したメールを確認したところ、

SPF:PASS
DKIM:署名なし
DMARC:FAIL

という状態でした。

メールヘッダーを確認すると、見た目上の送信元は以下でした。

From: info@web-mikata.jp

一方、実際の配送に使われていた送信元はConoHa側のドメインでした。

Return-Path: c3975274@www143.conoha.ne.jp

SPF認証自体は通っていましたが、認証されていたドメインは www143.conoha.ne.jp です。

DMARCでは、Fromに表示されるドメインと、SPFまたはDKIMで認証されたドメインが整合しているかを確認します。

今回の状態を整理すると、

・From:web-mikata.jp
・SPF認証:www143.conoha.ne.jp
・DKIM:署名なし

となっていました。

つまり、SPF自体はPASSしているものの、Fromの web-mikata.jp と整合しておらず、さらにDKIM署名もなかったため、DMARCがFAILしていたということです。

認証された送信経路に変更する

Contact Form 7はメールを送信する際、WordPressの標準メール送信関数である wp_mail() を利用しています。

wp_mail() はWordPressからメール送信を依頼するための関数であり、標準状態では利用しているサーバー環境のメール送信機能を使って配送されます。

そのため、Contact Form 7上では info@web-mikata.jp を送信元に指定していても、実際にはレンタルサーバー側のメールサーバーを経由して送信されることがあります。

このとき、Fromに表示されるドメインとSPF・DKIMで認証されるドメインが整合していないと、DMARC認証に失敗する場合があります。

そこで今回は「WP Mail SMTP」を利用し、WordPressからのメール送信経路を変更しました。

当サイトではGoogle Workspaceを利用しているため、Gmail API経由で info@web-mikata.jp から送信する構成に変更しています。

Google Workspaceを利用していない場合でも、レンタルサーバーのSMTPや各種メール配信サービスなど、利用環境に合った送信方法を設定できます。

SPFがFAILになる場合

当サイトでは事前にSPFを指定していたためPASSとなっておりましたが、SPFがFAILになる場合は、ドメインのDNSに設定されたSPFレコードと、実際にメールを送信しているサーバーが一致していない可能性があります。

まずは、ご自身のドメインにSPFレコードが設定されているか確認してみましょう。

確認方法はいくつかありますが、今回はGoogleが無料で提供している「Google Admin Toolbox Dig」を使います。

Google Admin Toolbox Dig

使い方は簡単で、確認したいドメインを入力し、レコードタイプに「TXT」を指定するだけです。

当サイトでは、以下のSPFレコードを設定しています。

"v=spf1 include:_spf.google.com include:_spf.conoha.ne.jp ~all"

この記述は、GoogleとConoHaのメールサーバーを、web-mikata.jp からメールを送信してよい送信元として許可しているという意味です。

ただし、SPFレコードが存在していても、実際にメールを送信したサーバーがそのレコードに含まれていなければ、SPF認証に失敗することがあります。

また、

・SPFレコードの記述ミス
・SPFレコードが複数存在する
・include の追加しすぎによるDNS lookup上限超過

などでも認証エラーになる場合があります。

SPFレコード自体が見つからない場合や、現在利用しているメールサービスが記述されていない場合は、DNSレコードの編集が必要です。

DNSの編集方法は利用しているドメイン管理会社やレンタルサーバー会社によって異なります。

「管理会社名 DNS TXTレコード 設定」

などで検索すると、公式の設定手順が見つかります。

SPFは「レコードが存在しているか」だけでなく、実際の送信元がそのSPFレコードで許可されているかまで確認することが重要です。

WP Mail SMTPの使い方

WP Mail SMTPの大まかな設定手順は、

1.WP Mail SMTPをインストールする

WP Mail SMTPインストール画面


2.使用するメーラーを選択する

WP Mail SMTPのセットアップ画面

3.SMTPまたはAPIの認証を行う

WP Mail SMTPの認証設定画面

という流れになります。

詳細の手順に関してはメーラーによって設定項目が異なりますので今後GmailやレンタルサーバーのSMTPを設定する方法を別記事として執筆予定です。

設定が完了したら、WP Mail SMTPのテスト送信機能を使ってメールを送信します。

設定した送信経路から正常にメールを受信できれば、送信設定は完了です。

Google Workspace経由に変更した結果

当サイトでは、WordPressからのメール送信をConoHaのローカルメール送信から、Google Workspace経由へ変更しました。

認証変更前変更後
SPFPASSPASS
DKIM署名なしPASS
DMARCFAILPASS

という結果になりました。

Flamingoも入れておくと安心

FlamingoはContact Form 7と同じ開発者が提供しているメッセージ保存プラグインです。

Flamingoを導入すると、Contact Form 7から送信された内容をWordPress内のデータベースに保存し、管理画面から内容を確認できるようになります。

そのため、何らかの理由で通知メールが届かなかった場合でも、WordPress側でお問い合わせ内容を確認できます。

Flamingo – WordPress.org

まとめ|Contact Form 7の迷惑メール対策は“フォーム設定だけ”では不十分

今回は、Contact Form 7から送信されたメールが迷惑メールに振り分けられてしまう主な原因と、その対策についてご紹介しました。

迷惑メールフォルダに入ってしまうと、お問い合わせに気づくのが遅れ、機会損失につながる可能性があります。これまで設定を見直したことがない場合は、一度メール認証や送信設定を確認しておくことをおすすめします。

本記事の内容を試しても解決しない場合や、ご自身での設定が難しい場合は、メール送信まわりの設定代行も承っております。必要な方は「お問い合わせページ」よりご相談ください。

迷惑メールに入る原因の依頼も可能です

悩みを抱えている人

悩む人

「SPFやDKIMと言われても、どこを確認すればいいのかわからない」
「DNSを触って、メールが届かなくなったらどうしよう」

小さなウェブ集客のミカタでは、メールが迷惑メールに入る原因の調査から、WP Mail SMTPの導入やSPF・DKIM・DMARCの設定まで承っています。プラグインの設定であれば3,000円〜(税抜)、状況の確認は無料です。他社で制作されたサイトでも対応できます。

小さなウェブ集客のミカタ 阿部

この記事を書いた人

大阪を中心に、個人事業主・小さな会社のホームページ制作やWeb集客を支援しています。Web業界には約6年携わっており、会社員時代には100社以上の中小企業サポートを経験してきました。 「Webのことなら、とりあえずミカタに聞いてみよう」と思ってもらえるような、相談しやすい距離感を大切にしています。