ラッコサーバー

ラッコサーバーでサイトを管理すると売却時の価値を高く保てます!
サイト/ドメインの売却をシームレスに実現します。

ラッコサーバー詳細
オンライン事業売買
WordPressサイト売買
ドメイン売買
データを読み込み中...
データを読み込み中...
データを読み込み中...

【WordPress】送信メールがスパムと判定される3つの原因と解決方法(Contact Form 7)

Contact Form 7で送信したメールがスパムと見なされたみたいで、お問い合わせが届かないんです…

Contact Form 7から送信したメールが迷惑メールフォルダに振り分けられて困っていませんか。この記事では、次の3点を解説します。

  • メールがスパムと判定される主な原因
  • Contact Form 7の設定でできる対策
  • サーバー側で行うSPF・DKIM設定

※動作確認環境:WordPress 7.0/Contact Form 7 v6.1.6

ラッコサーバー

ラッコサーバーでサイトを管理すると売却時の価値を高く保てます!
サイト/ドメインの売却をシームレスに実現します。

ラッコサーバー詳細
オンライン事業売買
WordPressサイト売買
ドメイン売買
データを読み込み中...
データを読み込み中...
データを読み込み中...

メールがスパムと判定される3つの原因

まず前提として、Contact Form 7自体がスパムメールを送っているわけではありません。送信されたメールが、受信側(GmailやOutlookなど)の判定エンジンによって「スパムかもしれない」と誤って判定されているだけなんです。ですから、対策は「受信側に信頼してもらえる送り方に変える」ことがゴールになりますね。

最初に、症状の切り分けをしておきます。この記事で扱うのは「メールは送信されているが、受信側で迷惑メールフォルダに振り分けられる」という問題です。

もし「送信ボタンを押しても処理がくるくる回ったまま完了しない」「フォーム下に赤枠でエラーメッセージが表示される」といった症状であれば、それはメールの送信処理自体が失敗している別の問題です。本記事の対象外となるため、まずはご自身の症状がどちらに当てはまるかを確認してください。

そのうえで、届いたメールがスパムと判定されてしまう主な原因は、次の3つに整理できます。

原因①:送信元(Fromアドレス)の設定に問題がある

1つ目の原因は、メールの送信元(Fromアドレス)が、サイトのドメインと関係のないアドレスになっていることです。

初期設定のままだと、送信元がwordpress@localhostやサイトと無関係なフリーメールのアドレスになっている場合があります。この状態だと、受信側がSPF(送信元サーバーが正当かを確認する仕組み)で認証する際に「From:に書かれたドメインと、実際の送信ドメインが一致しない」と判定され、スパム扱いされやすくなります。

Google公式の「メール送信者のガイドライン」では、From:ヘッダーのドメインをSPFドメインまたはDKIMドメインと一致させること(DMARCアライメント)、そして「Gmailの送信者になりすまさないこと」が求められています(出典:Google「メール送信者のガイドライン」)。つまり、送信元アドレスをサイトのドメインと合わせておくことが第一歩になります。

原因②:SPF・DKIM・DMARCなど送信ドメイン認証が未設定

2つ目の原因は、送信ドメイン認証(そのドメインからのメールが本物であることを証明する仕組み)が設定されていないことです。代表的なものにSPF・DKIM・DMARCの3つがあります。

SPF(Sender Policy Framework:送信を許可されたサーバーをDNSで宣言する仕組み)は、DNSにTXTレコードとして次のような書式で登録します。

v=spf1 include:_spf.利用サーバー.com ~all

DKIM(DomainKeys Identified Mail:メールに電子署名を付けて改ざんや詐称を検知する仕組み)は、送信するメールに暗号署名を付与し、受信側が公開鍵で「本当にそのドメインから送られたか」を検証できるようにする役割を持ちます。

Google公式ガイドラインは、すべての送信者に対してSPFまたはDKIMのいずれかのメール認証を設定することを求めています(出典:Google「メール送信者のガイドライン」)。

MEMO

1日あたり5,000通以上のメールをGmail宛に送信する場合は、SPF・DKIM・DMARCのすべての設定が必須とされています。ただし、一般的な問い合わせフォームがこの送信量に達するケースはまれなので、まずはSPFとDKIMの設定を優先すれば十分な場合が多いです。

原因③:逆引き(PTR)DNSレコードが未設定

3つ目の原因は、逆引き(PTR)DNSレコードが設定されていないことです。PTRレコードとは、IPアドレスからドメイン名を引くための逆引き設定のことで、受信側が「このIPアドレスは正当な送信元か」を確認する手がかりになります。

Google公式ガイドラインでは、送信ドメインおよびIPアドレスに、有効な正引き・逆引き(PTR)DNSレコードが必要と定められています(出典:Google「メール送信者のガイドライン」)。

ただし、PTRレコードは利用者が自分で設定するものではありません。IPアドレスを管理しているサーバー事業者側での設定になるため、未設定かどうか不明な場合は、契約しているサーバーのサポート窓口に確認・依頼してください。

STEP1:Contact Form 7の「メール」設定を見直す

まずはWordPress側でできる対策から始めましょう。Contact Form 7のフォーム編集画面にある「メール」の設定を見直すだけで改善するケースもありますよ。

最初に取り組むべきは、Contact Form 7(WordPress.org公式)のフォーム編集画面にある「メール」タブの設定を見直すことです。送信元アドレスや返信先の設定を整えるだけで、スパム判定を受けにくくできます。

1. 送信元アドレスを自分のドメインのメールアドレスに変更する

「メール」タブの「送信元」の項目を、サイトと同じドメインの実在するメールアドレスに変更します。たとえばサイトのドメインがexample.comなら、info@example.comのようなアドレスを設定します。

フリーメール(Gmailなど)のアドレスや、初期設定のwordpress@のままにしておくと、原因①で説明したドメイン不一致によるスパム判定を受けやすくなります。まずはここを自分のドメインのアドレスに揃えることが重要です。

Contact Form 7のメール設定画面—送信元の入力欄
▲ 「メール」タブの「送信元」の項目

2. 「追加ヘッダー」に返信先(Reply-To)を設定する

「メール」タブの「追加ヘッダー」の項目に、フォームに入力された送信者のメールアドレスを返信先として指定する記述を追記します。こうしておくと、届いた問い合わせメールにそのまま返信するだけで、入力者へ返信できるようになります。

送信元アドレスを自分のドメインに変更すると、返信先が固定されて入力者に返信しづらくなることがあります。「追加ヘッダー」の項目を正しく設定しておくことで、この問題を避けられます。

3. メール本文のテンプレートを整理する

メール本文のテンプレートに、過剰な装飾記号や連続した感嘆符(!!!など)が含まれていると、受信側のフィルタでスパムらしさが高いと判断されることがあります。

本文は必要な項目だけをシンプルに記載し、不要な記号や過度な強調表現を減らしておくと安心です。

STEP2:SMTPプラグインを導入して送信方法を変更する

メールの設定を見直しても、まだ迷惑メールに入ってしまうことがあるんですね…

Contact Form 7側の設定を見直しても改善しない場合は、メールの送信方法そのものを変更するのが有効です。

WordPressは標準でPHPのmail()関数を使ってメールを送信します。しかし、多くのレンタルサーバーではこの送信方法が正しく機能する設定になっておらず、メールが届かなかったり迷惑メールに振り分けられたりしやすいという事実があります(出典:WP Mail SMTP公式プラグインページ)。そこで、SMTP(メール送信専用のプロトコル)経由での送信に切り替えます。

1. WP Mail SMTPプラグインを導入する

SMTP送信への切り替えには、WP Mail SMTP(WordPress.org公式)プラグインを使うのが一般的です。WordPressの管理画面から「プラグイン」→「新規追加」で「WP Mail SMTP」を検索し、インストールして有効化します。

WordPressプラグイン新規追加画面—WP Mail SMTPの検索結果
▲ 「プラグインを追加」画面でWP Mail SMTPを検索した結果(有効化後の表示)

2. SMTPサーバー情報を設定する

プラグインの設定画面で、利用中のサーバーが提供するSMTPホスト名やポート番号、認証用のユーザー名・パスワードなどを入力します。これらの情報は、契約しているサーバーの管理画面やマニュアルで確認できます。

送信元メールアドレスの項目には、STEP1と同様に自分のドメインのアドレスを設定しておきます。ここを揃えておくことで、送信ドメイン認証との整合が取りやすくなります。

3. テストメールを送信して届くか確認する

WP Mail SMTPには、設定後にテストメールを送信できる機能があります。「WP Mail SMTP」メニューの「ツール」タブにある「メールテスト」を開き、送信先のメールアドレスを入力して「メールを送信」をクリックします。受信トレイに正しく届くか(迷惑メールフォルダに入っていないか)を必ず確認しましょう。

WP Mail SMTPのメールテスト画面—メールを送信ボタン
▲ 「ツール」タブの「メールテスト」—「メールを送信」ボタン

テストメールが受信トレイにちゃんと届いた!送信方法を変えるだけでも効果があるんですね。

STEP3:サーバー側でSPF・DKIMを設定する

仕上げに、サーバー側で送信ドメイン認証を設定します。ここまで整えると、受信側からの信頼度がぐっと高まりますよ。

最後に、原因②で挙げた送信ドメイン認証を、サーバー側で設定します。SPF・DKIMを正しく設定することで、受信側にメールの正当性を示せるようになります。

1. 利用中のサーバーの管理画面でSPF・DKIMの設定状況を確認する

まずは契約しているサーバーの管理画面で、SPF・DKIMの設定状況を確認します。多くのレンタルサーバーでは、管理画面から数クリックでSPF・DKIMを有効化できる機能が用意されています。設定項目の名称や場所はサーバーごとに異なるため、契約中のサーバーのマニュアルやサポート窓口で確認してください。

2. DNSレコードを設定する

サーバーに自動設定機能がない場合は、DNSに手動でレコードを追加します。SPFはTXTレコードとして、原因②で示した書式で登録します。

DKIMは、次のようなホスト名形式でレコードを登録します(「ドメイン名」の部分は自分のドメインに置き換えます)。

default._domainkey.ドメイン名

具体的な設定値やホスト名は利用サーバーによって異なるため、サーバーが提供するマニュアルに従って設定してください。

注意

DNSレコードは既存のメール送受信やサイトの表示にも影響する設定です。既存のレコードを誤って上書き・削除すると、現在届いているメールが届かなくなる可能性があります。編集前に必ず現在の設定内容を控えておき、不明な点はサーバーのサポート窓口に確認してから変更してください。

3. 設定後にメールヘッダーで認証結果を確認する

設定が反映されたら、実際にテスト送信したメールで認証結果を確認します。Gmailで受信した場合は、メールを開いて右上のメニューから「メッセージのソースを表示」を選ぶと、メールヘッダーを確認できます。

ヘッダー内に spf=pass および dkim=pass と表示されていれば、SPF・DKIMの認証に成功しています。これが実際に検証すべきゴールです。

4. 逆引き(PTR)DNSレコードの設定状況をサーバー提供事業者に確認する

原因③で説明したとおり、逆引き(PTR)DNSレコードは利用者側では設定できません。SPF・DKIMを設定してもスパム判定が改善しない場合は、契約しているサーバー提供事業者に、逆引き(PTR)レコードが正しく設定されているかを確認・依頼してください。

💡 メールの到達率を根本から改善するなら

Contact Form 7側の設定を見直しても改善しない場合、原因はサーバー側のメール送信環境にあるかもしれません。

ラッコサーバーは、SPF・DKIM設定に対応し、独自ドメインメール・SMTP情報の提供もあるため、メールの到達率を高めやすい環境が整っています。

ラッコサーバーなら、月額330円(税込)〜から利用でき、30日間の無料お試し期間中に設定を試すことも可能です。

それでも改善しない場合に確認したいこと

STEP1〜3をすべて試しても迷惑メール判定が改善しない場合は、次の点も確認してみてください。

MEMO
  • 受信側で「迷惑メールではない」と報告する:一度迷惑メールフォルダに入ったメールを開き、「迷惑メールではない」と報告すると、以降の判定が改善されやすくなります。
  • メールクライアント側のフィルタ設定を見直す:受信側で独自の振り分けルールやフィルタが設定されていないかを確認します。
  • 大量送信の場合は認証をすべて設定する:1日5,000通以上をGmail宛に送信する場合は、SPF・DKIM・DMARCすべての設定が必須です(出典:Google「メール送信者のガイドライン」)。

よくある質問

Q1. Contact Form 7自体がスパムだと判定されることはありますか?

Contact Form 7というプラグイン自体がスパムメールを送るわけではありません。スパムと判定されているのは、Contact Form 7から送信された個々のメールが、受信側(GmailやOutlookなど)の判定エンジンによって誤ってスパム扱いされている状態です。したがって対策は、プラグインを疑うことではなく、受信側に信頼される送り方に整えることになります。

Q2. Contact Form 7から送信したメールがGmailに届かないのはなぜですか?

主な原因は、①送信元(Fromアドレス)の設定に問題がある、②SPF・DKIM・DMARCなどの送信ドメイン認証が未設定、③逆引き(PTR)DNSレコードが未設定、の3つです。それぞれの詳細と対策は、メールがスパムと判定される3つの原因のセクションで解説しています。まずはこの3点を確認してください。

Q3. 一度スパム判定されたメールを解除するにはどうしたらいいですか?

受信者側での対応が効果的です。迷惑メールフォルダに入ったメールを開き、「迷惑メールではない」と報告してもらうことで、以降の判定が改善されやすくなります。あわせて、受信者側のメールソフトに該当アドレスを振り分けるフィルタが設定されていないかを確認し、必要に応じて解除してもらいましょう。根本的には、本記事のSTEP1STEP3で送信側の設定を整えることが重要です。

Q4. 問い合わせフォームのスパム対策(不正送信対策)はどうすればいいですか?

本記事で扱う「メールの到達性」とは別に、フォーム自体へのスパムボットによる不正送信を防ぎたい場合は、reCAPTCHA(ロボットによる自動送信を判別する認証機能)の導入が有効です。設定方法は、関連記事「Contact Form 7のスパム対策方法(reCAPTCHA)」で詳しく解説しています。

Q5. reCAPTCHAを設定すればメールの到達率も上がりますか?

いいえ、両者は目的が異なります。reCAPTCHAはフォーム送信自体をブロックする不正送信対策であり、正規のメールが受信側で迷惑メール判定される「到達性」の問題は解決しません。到達性を改善したい場合は本記事のSTEP1STEP3を、フォームへの不正送信を防ぎたい場合は「Contact Form 7のスパム対策方法(reCAPTCHA)」を参照してください。

まとめ

Contact Form 7から送信したメールがスパムと判定される主な原因は、次の3つでした。

  • 原因①:送信元(Fromアドレス)がサイトのドメインと一致していない
  • 原因②:SPF・DKIM・DMARCなどの送信ドメイン認証が未設定
  • 原因③:逆引き(PTR)DNSレコードが未設定

対策としては、まずSTEP1でContact Form 7の「メール」設定(送信元アドレス・追加ヘッダー)を見直し、次にSTEP2でWP Mail SMTPを導入して送信方法を変更します。そのうえでSTEP3として、サーバー側でSPF・DKIMを設定し、逆引き(PTR)レコードはサーバー事業者に確認するのが基本の流れです。

送信元アドレスの設定は自分で対応できますが、SPF・DKIM・PTRといった送信ドメイン認証はサーバー環境に大きく左右されます。メールの到達率を根本から改善したい場合は、これらの設定に対応したサーバー環境を選ぶことも有効な選択肢です。