SPF・DKIM・DMARCの設定方法と確認手順
SPF・DKIM・DMARC の設定は、独自ドメインからメールを送るなら欠かせない準備です。順番は「SPF → DKIM → DMARC(最初は p=none)」で、どれも DNS にレコードを追加して始めます。あわせて送信 IP の逆引き(PTR)も確認します。
レンタルサーバー・VPS・Google Workspace・Microsoft 365・配信サービスのいずれにも使える考え方とレコード例、よくある失敗、確認方法をまとめました。内容は 2026年11月時点の公式ページに基づきます。要件は変わることがあるため、最終的には各社の公式ページをご確認ください。
SPF・DKIM・DMARCがそれぞれ証明することと設定の順番
SPFは、そのドメインのメールを送ってよいサーバー(IP アドレス)を DNS で宣言する仕組みです。受信側は SMTP の送信元アドレス(MAIL FROM、Return-Path に残るアドレス)のドメインの SPF を引き、接続元 IP が含まれるかを確かめます。
DKIMは、送信側がメールに電子署名を付け、受信側が DNS 上の公開鍵で検証する仕組みです。署名ドメイン(d=)が送ったことと、途中で改ざんされていないことを示します。
DMARCは、利用者が目にする From のドメインと、SPF または DKIM で認証されたドメインが揃っているか(アライメント)を確認し、失敗時の扱い(何もしない・隔離・拒否)を宣言する仕組みです。集計レポートも受け取れます。
設定の順番
- 自分のドメインで送信している経路(サーバー、Google Workspace、Microsoft 365、配信サービス、問い合わせフォームなど)をすべて書き出す
- SPF レコードを 1 つにまとめて公開する
- 各経路で DKIM 署名を有効にし、公開鍵を DNS に載せる
- DMARC を
p=noneとrua(レポート送付先)付きで公開する。Google は SPF・DKIM の設定から 48 時間ほど空けるよう勧めています - レポートで漏れた経路を直し、
quarantine、rejectの順に強める
SPFの設定:レコード例と注意点
SPF はドメイン名に TXT レコードとして登録します。自社サーバーと Google Workspace の両方から送る場合の例です。
example.com. 3600 IN TXT "v=spf1 ip4:203.0.113.10 ip6:2001:db8::10 include:_spf.google.com ~all"
管理画面ではホスト名を空欄(または @)、種類を TXT、値を v=spf1 から始まる文字列にするのが一般的です。Microsoft 365 なら include:spf.protection.outlook.com、レンタルサーバーや配信サービスは各社マニュアルに記載の include: か IP を入れます。
SPF のつまずきどころ
- SPF レコードは 1 ドメインに 1 つだけ:RFC 7208 は複数の SPF レコードを禁じており、複数あると
permerrorになります。サービスを追加するときは既存の 1 行にinclude:を書き足します。 - DNS 参照は 10 回まで:
include、a、mx、ptr、exists、redirectが数えられ、include:先の入れ子も含めて 10 を超えるとpermerrorです。ip4:・ip6:・allは数えません。 ~allと-all:-allは不許可(fail)、~allはおそらく不許可(softfail)です。Google は~allを、Microsoft は DKIM・DMARC の併用を前提に-allを推奨しています。経路を洗い出しきるまでは~allが無難です。- サブドメインは別扱い:
example.comの SPF はnews.example.comには効きません。
メールを送らないドメインには v=spf1 -all を置くと、なりすましに使われにくくなります。
DKIMの設定:2048ビット鍵とセレクター
DKIM は、秘密鍵で署名する送信側と、公開鍵を載せる DNS の 2 か所で設定します。多くのサービスでは管理画面で鍵を生成し、表示された値を DNS に登録します。
鍵は 2048 ビットの RSA を選びます。RFC 8301 は 1024 ビットを最低線、2048 ビット以上を推奨としており、署名に rsa-sha1 は使いません。公開鍵は セレクター._domainkey.ドメイン に置きます。Google Workspace の既定のセレクターは google、Microsoft 365 は selector1 と selector2 を CNAME で登録します(値は管理画面で確認)。経路ごとにセレクターを分ければ、複数のサービスで同じドメインの署名ができます。
selector1._domainkey.example.com. 3600 IN TXT ( "v=DKIM1; k=rsa; "
"p=MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA(公開鍵の前半)"
"(公開鍵の後半)IDAQAB" )括弧内は実際の公開鍵に置き換えます。2048 ビットの鍵は 1 つの文字列の上限(255 文字)を超えるため、二重引用符で区切った複数の文字列に分けます。受信側は空白を入れずに連結して読みます。管理画面が自動で分割する場合もあるので、まず貼り付けて保存を試し、エラー時だけ分割します。p= が空だと鍵の失効を意味するので、貼り付け漏れに注意します。
VPS では OpenDKIM などで鍵を作ります(例:opendkim-genkey -b 2048 -s selector1 -d example.com)。受信メールの DKIM-Signature: ヘッダーで、d=example.com と s=selector1 が意図どおりか確認します。配信サービスの既定のままだと d= がサービス側のドメインになり、DMARC のアライメントに使えないことがあります。
DMARCの設定:p=noneから段階的に強める
DMARC は _dmarc.example.com に TXT レコードを置きます。最初は扱いを変えない p=none と、集計レポートの送付先 rua で始めます。
_dmarc.example.com. 3600 IN TXT "v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com"
レポートを数週間見て、正規の経路がすべて合格しているのを確かめたら、既存のレコードを書き換えて p=quarantine、さらに p=reject へ進めます。DMARC レコードを 2 つ置かないようにします。
| タグ | 意味 |
|---|---|
v=DMARC1 | 必須。先頭に置く |
p= | none・quarantine(迷惑メール扱いなど)・reject(拒否) |
sp= | サブドメインへのポリシー。省略時は p= と同じ |
rua= | 集計レポートの送付先。省略するとレポートは届かない |
adkim= / aspf= | アライメント。r(緩和、既定)か s(厳格) |
アライメント:DMARC の合格には、SPF か DKIM が成功し、そのドメインが From と揃っている必要があります。緩和モードでは組織ドメインが同じならよく、d=example.com の署名は From が news.example.com でも合格します。配信サービスでは Return-Path がサービス側のドメインになりがちなので、独自ドメインの DKIM で揃えるのが現実的です。
なお DMARC の仕様は 2026年5月に RFC 9989 として改訂され、RFC 7489 は置き換えられました。v=DMARC1 はそのままですが、pct タグは廃止され、テスト用の t=y などが加わりました。段階的な移行は p の切り替えで進めるのが分かりやすいです。
PTR(逆引き)を確認する
逆引き(PTR)は、IP アドレスからホスト名を引くレコードです。Google は全送信者に、PTR のホスト名を正引きすると同じ IP に戻ることを求め、Yahoo も有効な正引き・逆引きを求め、汎用的でない PTR を推奨しています。
203.0.113.10 PTR mail.example.com. mail.example.com. A 203.0.113.10
PTR は IP を割り当てている事業者側で設定します。VPS なら管理画面の逆引き設定で登録し、同じ名前の A(IPv6 なら AAAA)レコードを自分の DNS に作ります。Google Workspace や配信サービスなどでは事業者が管理しているため、通常は作業不要です。
設定できたかを確認する方法
外部のアドレス(Gmail など)にテストメールを送り、ヘッダーの Authentication-Results を見ます。Gmail では「メッセージのソースを表示」で確認でき、Google は自分宛てではなく別のユーザー宛てに送るよう案内しています。
Authentication-Results: mx.example.net;
dkim=pass header.i=@example.com header.s=selector1;
spf=pass smtp.mailfrom=example.com;
dmarc=pass header.from=example.com書式は受信側で異なりますが、3 つが pass で、ドメインが自分のものなら成功です。DNS は次のように直接確かめられます(Windows は nslookup -type=TXT)。
dig +short TXT example.com dig +short TXT selector1._domainkey.example.com dig +short TXT _dmarc.example.com dig +short -x 203.0.113.10
Google は SPF・DKIM の反映に最大 48 時間かかる場合があるとしています。SPF の参照回数を数える無料チェッカーも役立ちます。認証が通っても届かない場合は、ブラックリストチェッカーで IP やドメインの掲載状況も確認し、メールが届かないときのブラックリスト確認も参考にしてください。
Gmail・Yahoo・Outlook.comの送信者要件
2026年11月時点の公式ページに基づく主な要件です。
- Gmail(2024年2月1日から):個人の Gmail 宛てに送る全送信者に、SPF または DKIM、正引きと一致する PTR、TLS、迷惑メール率 0.3% 未満などを求めます。1日 5,000 通を超える送信者には、SPF と DKIM の両方、DMARC(
p=none可)、From のアライメント、ワンクリック登録解除が加わります。 - Yahoo(2024年2月から):全送信者に SPF または DKIM と有効な逆引き、大量送信者に SPF と DKIM の両方、
p=none以上の DMARC(合格が必要)、アライメント、ワンクリック登録解除を求めます。 - Outlook.com(hotmail.com・live.com・outlook.com):1日 5,000 通を超えて送るドメインに SPF・DKIM の合格と、
p=none以上でアライメントの取れた DMARC を求め、2025年5月5日から未対応のメールを550; 5.7.515で拒否すると告知しています。
詳細は Google・Yahoo・Microsoft の公式ページをご確認ください。Gmail で届かない場合はGmail に届かないときの対処もどうぞ。
よくある設定ミス
- SPF を 2 行作る:サービス追加のたびに
v=spf1を新設すると SPF 全体が無効になります。 - 書式の誤り:
include=、コロン後の空白、値に引用符を二重に含める、ホスト名にドメインが二重に付く(_dmarc.example.com.example.com)など。dig で確かめれば見つかります。 - DNS に載せただけで DKIM 署名を有効にしていない:Google Workspace の「認証を開始」のように、送信側の操作が別に必要なことがあります。
- いきなり
p=reject:見落とした問い合わせフォームや請求書システムのメールが届かなくなります。
解除申請の代行・コンサルティング・ご相談を受け付けている事業者を紹介しています(料金は 5万円〜)。解除はリスト運営元の判断で行われ、お約束するものではありません。
相談窓口へ当サイトは掲載事業者から紹介料を受け取ることがあります。 運営者情報
よくある質問
SPF・DKIM・DMARC はどれか 1 つだけでもよいですか?
少量の送信なら Gmail は SPF か DKIM のどちらかでよいとしていますが、大量送信者には 3 つすべてを求めています。From のなりすまし対策になるのは DMARC なので、3 つ揃えることをおすすめします。
DMARC を p=none のままにしておいても問題ありませんか?
各社の大量送信者向け要件は p=none でも満たせます。ただし受信側に何も求めないため、なりすましは止まりません。レポートで正規の経路を確認できたら quarantine、reject へ進めましょう。
認証はすべて pass なのに迷惑メールになります。
認証は前提条件で、それだけで受信箱に入るとは限りません。IP やドメインの評判、ブラックリスト掲載、迷惑メール報告なども影響します。Spamhaus に載っている場合はSpamhaus の解除手順をご覧ください。
参考にした公式ページ
本文の事実関係は、公開時点で次の公式ページに基づいて確認しています。仕様や運用は予告なく変わるため、重要な判断の前に各公式ページをご確認ください。
- RFC 7208: Sender Policy Framework (SPF)
- RFC 6376: DomainKeys Identified Mail (DKIM) Signatures
- RFC 8301: Cryptographic Algorithm and Key Usage Update to DKIM
- RFC 7489: Domain-based Message Authentication, Reporting, and Conformance (DMARC)
- RFC 9989: DMARC (obsoletes RFC 7489)
- Google: Email sender guidelines
- Google Workspace: Set up SPF
- Google Workspace: Set up DKIM
- Google Workspace: Set up DMARC
- Yahoo Sender Hub: Sender Best Practices
- Microsoft Community Hub: Outlook's New Requirements for High-Volume Senders
- Microsoft Learn: Set up SPF for your Microsoft 365 domain
- Microsoft Learn: How to use DKIM for email in your custom domain
関連記事
Gmailに届かない原因と対処を、自分のGmailで受信できない場合と、送ったメールが拒否・迷惑メール扱いになる場合に分けて手順で解説します。
送信メールが届かない・拒否されるときの確認順を解説。エラーコードの読み方、ブラックリストの調べ方、解除申請の正しい手順と再掲載の防ぎ方。
Spamhaus(ZEN)に載ったときの調べ方と解除手順。返却コードの意味、ツールで結果が違う理由、リスト別の対処を公式情報で解説。