本文へ移動

お問い合わせフォームのメールが迷惑メールに入る理由と、SPF・DKIM・DMARC による解決法

サイトのフォームから届くメールが迷惑メールに入る、または届かない。原因の多くは内容ではなく送り方です。確認すべき点と、設定すべき3つの DNS レコードを解説します。

5分で読めます

見込み客がお問い合わせフォームに入力し、サイトには「送信ありがとうございました」と表示されます。ところがメッセージは迷惑メールフォルダに入るか、どこにも届かず、返信されないまま終わります。どちらもそのことに気づきません。

これは中小企業のサイトを確認するときに最もよく見つかる問題のひとつで、原因がメッセージの内容にあることはまれです。問題は、そのメールが誰から送られたと名乗っているか、そしてドメインがそれを証明できるかどうかです。

問題があるかどうかを確かめる

自分のサイトのフォームから、Gmail のアドレスと仕事用のアドレスの両方でテスト送信し、次を確認します。

  • 受信トレイだけでなく、迷惑メールや「プロモーション」などのタブも確認する。
  • Gmail でメッセージを開き、3つの点のメニューから メッセージのソースを表示 を選ぶ。上部に SPF、DKIM、DMARC の3行があり、それぞれ PASS か FAIL と表示されます。

どれかが失敗している、または表示されない場合は、この記事の内容が当てはまります。ホスティングやフォームツールにログがあれば、それも確認してください。「送信済み」なのに差し戻されたメッセージは、そこにしか記録が残りません。

よくある原因:フォームが訪問者になりすましている

多くのお問い合わせフォーム、特に古い WordPress プラグインや簡易的なスクリプトは、訪問者本人のアドレスを差出人にしてメッセージを送ります。つまり、あなたのサーバーが maria@yahoo.com から来たと名乗るメールを送っているのです。

受信側から見れば、これはなりすましそのものです。実際に送ったのは Yahoo ではなく、あなたのサーバーだからです。yahoo.com などのドメインは、自分のドメインを名乗りながら認証に失敗したメールを拒否するよう、ほかのプロバイダーに求める厳格なポリシーを公開しています。その結果、メッセージは拒否されるか、迷惑メールに振り分けられます。

対策は簡単で、失うものはありません。

  • 差出人(From):website@yourcompany.co.jp のような、自社ドメインのアドレス。
  • 返信先(Reply-To):訪問者のアドレス。

これまでどおり「返信」を押せば、訪問者に直接返信できます。違いは、メールがどこから送られたかを正直に示すようになることだけです。

メールが自社のものだと証明する3つのレコード

自社ドメインから送っても、そのドメインが送信元サーバーを保証できなければ意味がありません。その役割を担うのが、次の3つの DNS レコードです。

レコード 内容 設定場所
SPF 「これらのサーバーは、このドメインのメールを送信してよい」 ドメインの TXT レコード
DKIM 各メッセージに付ける電子署名。DNS 上の公開鍵で検証される メール配信サービスが指定する TXT または CNAME レコード
DMARC 「SPF と DKIM の両方に失敗したメールはこう扱い、レポートを送ってほしい」 _dmarc.yourdomain.com の TXT レコード

2024年2月から、Gmail と Yahoo はすべての送信者に SPF または DKIM による認証を求めています。大量送信者(各社のユーザー宛てに1日約5,000通以上)は、両方に加えて DMARC とワンクリックでの配信停止も必要です。中小企業のフォームはその量にはほど遠いものの、各社のフィルターはこれらのルールを前提に作られているため、認証のないメールは最初から不利になります。

修正の手順

1. トランザクションメールのサービスから送る

Web サーバーに組み込まれたメール送信機能に頼らず、Resend、Postmark、Amazon SES、またはメールプロバイダーの SMTP など、アプリケーションからのメール送信を専門とするサービスを使います。送信元の評価や再送を管理し、各メッセージが届いたかどうかも確認できます。

2. そのサービスでドメインを認証する

サービスから、追加すべき DNS レコードがいくつか示されます。通常は DKIM のレコードと、多くの場合は送信用サブドメインの SPF レコードです。表示されたとおりに、DNS を管理している事業者で追加してください(ドメインを購入した事業者と同じとは限りません)。サービス側でドメインが「認証済み」と表示されるまで待ちます。

3. SPF レコードはドメインごとに1つだけ

1つのドメインに置ける SPF レコードは1つだけです。メールボックスに Google Workspace を使い、別のサービスも同じドメインで送信する場合は、両方を同じレコードにまとめます。

2つの送信元をまとめた SPF レコード
v=spf1 include:_spf.google.com include:spf.example-sender.com ~all

v=spf1 のレコードが2つあると、すべての送信で SPF が失敗します。また、SPF は DNS の参照が10回を超えると機能しなくなるため、使わなくなったサービスの include: は削除してください。

4. DMARC ポリシーを、緩い設定から公開する

最初の DMARC レコード(_dmarc.yourcompany.co.jp)
v=DMARC1; p=none; rua=mailto:dmarc-reports@yourcompany.co.jp

p=none は配信には影響せず、誰があなたのドメインを名乗って送信しているかのレポートを送るよう、各プロバイダーに依頼するものです。数週間後、レポートに自社のサービスしか現れなくなったら p=quarantine に移行します。これが、あなたの名前で偽の請求書を送る第三者からドメインを守る設定です。

5. もう一度テストする

フォームからもう一度送信し、メッセージのソースを表示 で確認します。3行すべてが PASS になり、DKIM の行に配信サービスではなく自社のドメインが表示されていれば完了です。

ターミナルからもレコードを確認できます。

SPF と DMARC のレコードを確認する
dig +short TXT yourcompany.co.jp
dig +short TXT _dmarc.yourcompany.co.jp

専門家に相談したほうがよい場合

ドメインの DNS がレジストラ、古いサーバー、メールプロバイダーに分散していて、誰が何を設定したのか誰も覚えていない場合は、何かを変更する前に、まず全体を整理して把握するのが最も安全です。これは私たちのサイト診断に含まれる内容のひとつで、アクセス権、DNS、メールに加えて、セキュリティ、表示速度、SEO を確認し、優先順位を付けた改善リストをお渡しします(診断レポートのサンプル)。料金プランでは、お問い合わせフォーム、送信設定、これらの DNS レコードの設定と監視まで私たちが行います。

ドメインとメールサイト保守

この記事は次の言語でも読めます: EnglishPortuguêsEspañol中文

記事一覧