ECサイトのSPF・DKIM・DMARC設定:Gmail・Yahooの送信者要件に対応
SPF・DKIM・DMARCの役割、Gmail・Yahoo・Outlook.comが送信者に求める要件、ShopifyとWooCommerceでの設定方法、p=rejectまで進める手順を解説します。
FixReports 編集部2分で読めます
GmailとYahooの送信者要件を満たすには、すべてのECサイトが送信ドメインにSPFまたはDKIMを設定する必要があります。大量送信者はその両方に加えてp=none以上のDMARCレコードを設定し、表示上のFromドメインをSPFまたはDKIMのドメインと一致(アライメント)させなければなりません。大量送信者はさらに、マーケティングメールでワンクリック登録解除を提供し、報告される迷惑メール率を0.3%未満に保つ必要があります。Shopifyでは、管理画面で送信者ドメインを認証し、DMARCレコードを追加します。WooCommerceでは、認証済みのメール配信サービスを通じて送信します。正規のメールがすべて認証に合格していることをDMARCレポートで確認できたら、ポリシーをp=rejectに向けて段階的に強化できます。
要点
- 2024年2月1日以降、Gmailはすべての送信者にSPFまたはDKIMの設定を、大量送信者にはSPF、DKIM、DMARCの設定を求めています(Google (新しいタブで開きます))。
- 24時間以内に個人のGmailアカウント宛てに5,000件近いメールを送信すると、Gmailから大量送信者として扱われ、その扱いに期限はありません(GmailのFAQ (新しいタブで開きます))。
- 2025年11月から、Gmailは要件を満たさないメールへの対応を強化しており、一時的な拒否や恒久的な拒否も含まれます(GmailのFAQ (新しいタブで開きます))。
- Outlook.comは2025年5月5日から、1日に5,000件を超えるメールを送信するドメインにSPF、DKIM、DMARCを求めています(Microsoft (新しいタブで開きます))。
- SPFでは、1回のチェックで使えるDNSクエリを伴う項目は最大10個までで、超えると
permerrorになります(RFC 7208 (新しいタブで開きます))。 - DMARCは2026年5月に改訂されました。RFC 9989 (新しいタブで開きます)がRFC 7489を廃止し、
pctタグをtに置き換えています。
SPF・DKIM・DMARCは実際に何をしているのですか?
SPFはそのドメインのメールを送信してよいサーバーを列挙し、DKIMは各メッセージに署名し、DMARCはその両方を顧客が目にするFromアドレスに結び付けます。
| レコード | 証明する内容 | 設定場所 | 規格 |
|---|---|---|---|
| SPF | 送信サーバーが、エンベロープ(MAIL FROM)で使われるドメインから送信を許可されていること | ドメインのTXTレコード | RFC 7208 (新しいタブで開きます) |
| DKIM | メッセージがそのドメインによって署名され、送信途中で改ざんされていないこと | selector._domainkey.example.comのTXTレコード | RFC 6376 (新しいタブで開きます) |
| DMARC | 表示上のFromドメインとアライメントの取れたドメインで、SPFまたはDKIMが合格したこと。失敗時の扱いとレポートの送信先を受信側に伝えます | _dmarc.example.comのTXTレコード | RFC 9989 (新しいタブで開きます) |
アライメントは見落としがちです。メール配信プラットフォームが自社のバウンス用ドメインでSPFに合格していても、Fromアドレスにはストアのドメインが表示されていることがあります。このメッセージはSPFには合格しますが、DKIMが自社ドメインで署名されていなければDMARCには失敗します。
GmailとYahooは送信者に何を求めていますか?
どちらもすべての送信者に認証を求め、大量送信者にはさらに厳しいルールを課しています。
すべての送信者に対して、GmailはSPFまたはDKIM、有効な正引き・逆引きDNS、TLS、RFC 5322に沿った形式、Postmaster Toolsでの迷惑メール率0.3%未満を求めています(Google (新しいタブで開きます))。Yahooは、SPFかDKIMの少なくとも一方と、迷惑メール率0.3%未満を求めています(Yahoo Sender Hub (新しいタブで開きます))。大量送信者に対する要件は次のとおりです。
| 要件 | Gmail | Yahoo |
|---|---|---|
| SPFとDKIM | 両方 | 両方 |
| DMARC | 必須。ポリシーはnoneでも可 | p=none以上の有効なポリシーがあり、DMARCに合格すること |
| アライメント | FromドメインがSPFまたはDKIMのドメインと一致 | 同じ。緩やかなアライメント(relaxed)も可 |
| ワンクリック登録解除 | マーケティングメールと購読メールで、RFC 8058に準拠。見える位置にリンクも表示 | マーケティングメールと購読メールで、ワンクリックに対応したList-Unsubscribeヘッダー |
| 登録解除の処理 | 48時間以内(推奨) | 2日以内 |
| 迷惑メール率 | 0.3%未満。Googleは0.10%未満を推奨 | 0.3%未満 |
ECサイトにとって重要な点がいくつかあります。
- Gmailはドメイン単位で数えます。同じ主ドメインから送られたメッセージは5,000件の上限に合算されるため、注文メール、マーケティングメール、サポートの返信がすべて積み上がります。
- 対象は個人のGmailアカウントだけです。Google Workspaceアカウント宛てのメッセージには、このガイドラインは適用されません。
- トランザクションメールはワンクリック登録解除の対象外です。ただし、注文確認メールにも認証は必要です。
ワンクリック登録解除では、RFC 8058 (新しいタブで開きます)で定義された2つのヘッダーを使います。RFC 8058では、これらのヘッダーを対象に含む有効なDKIM署名も必要です。
List-Unsubscribe: <https://example.com/unsubscribe/opaquepart>
List-Unsubscribe-Post: List-Unsubscribe=One-Click
マーケティングプラットフォームがこれらのヘッダーを付けているかどうかは、自社で配信したキャンペーンメールのうち1通のソース(原文)を開いて確認してください。
2024年2月以降、何が変わりましたか?
要件の適用は段階的に厳しくなっており、ほかのメールボックスプロバイダーも同様のルールを採用しています。
| 時期 | 変更内容 | 出典 |
|---|---|---|
| 2024年2月 | GmailとYahooの要件が発効(Yahooは段階的に適用) | Google (新しいタブで開きます)、Yahoo (新しいタブで開きます) |
| 2024年6月 | Gmail:迷惑メール率が0.3%を超える大量送信者は、緩和措置(mitigation)の対象外に | GmailのFAQ (新しいタブで開きます) |
| 2024年6月1日 | Gmail:すでに登録解除リンクを設けていた送信者に対する、ワンクリック登録解除の対応期限 | GmailのFAQ (新しいタブで開きます) |
| 2025年5月5日 | Outlook.com:1日5,000件を超えて送信するドメインへの要件。Microsoftの4月29日の更新では、要件を満たさないメッセージは550 5.7.515で拒否されるとしています | Microsoft (新しいタブで開きます) |
| 2025年11月 | Gmailが適用を強化。一時的な拒否と恒久的な拒否を含む | GmailのFAQ (新しいタブで開きます) |
| 2026年5月 | RFC 9989が、DMARCの仕様としてRFC 7489を廃止 | IETF (新しいタブで開きます) |
Outlook.comのルールは一般ユーザー向けのアドレス(outlook.com、hotmail.com、live.com)に適用されます。SPFとDKIMに合格することに加えて、SPFまたはDKIMとアライメントの取れたp=none以上のDMARCが求められます。
ShopifyでSPF・DKIM・DMARCを設定するにはどうすればよいですか?
Shopifyの管理画面で送信者ドメインを認証し、DNSのホスティング先でDMARCレコードを1つ追加します。
Shopifyのメール設定ガイド (新しいタブで開きます)によると、2024年2月1日以降、ブランドのメールアドレスから送信するには、GmailとYahooが認証済みのドメインとDMARCレコードを求めています。認証用のレコードが設定されていない場合、Shopifyは送信者アドレスをstore+123@shopifyemail.comの形式に書き換えます。手順は次のとおりです。
- Shopifyの管理画面で設定 > 通知(Settings > Notifications)に移動します。
- 送信者のメールアドレス(Sender email)のセクションで、ドメインを認証する(authenticate your domain)をクリックします。
- 表示されたCNAMEレコードをすべてDNSプロバイダーに追加します。レコードの数は場合によって異なります。Shopifyによると、これらのレコードで送信者アドレスのSPFとDKIMに対応でき、IPアドレスを追加する必要はありません。
- DNSの変更が反映されるまで、最大48時間かかります。
- 名前が
_dmarc、値がv=DMARC1; p=none;のTXTレコードを追加します。これはShopifyがデフォルトとして使う値です。
ドメインをShopifyで購入した場合や、Shopifyに移管した場合は、Shopifyがこれらのレコードを管理します。またShopifyは、1つのドメインに設定できるDMARCレコードは1つだけであること、厳格なアライメント設定(adkim=sやaspf=s)は削除するかrに変更すべきであることにも注意を促しています。
Shopifyの認証が対象とするのは、Shopifyが送信するメールです。キャンペーン配信に別のプラットフォームを使っている場合や、ヘルプデスクを使っている場合、スタッフのメールにGoogle Workspaceを使っている場合は、それぞれで個別にDKIMを設定する必要があります。バウンス用に自社ドメインを使うサービスには、それぞれのSPFエントリーも必要です。
WooCommerceでメール認証を設定するにはどうすればよいですか?
WooCommerce自身のドキュメントが推奨しているとおり、自社ドメインで署名する専用のプロバイダーを通じてWooCommerceのメールを送信します。
WooCommerceはWordPressのwp_mail()関数でメールを送信します。WooCommerceのメールに関するFAQ (新しいタブで開きます)では、自社サーバーのメール機能よりも信頼性が高いとして、専用のSMTPプロバイダーを推奨しています。一般的な設定方法は次のとおりです。
- トランザクションメールの配信サービスを選び、そこで自社ドメインを認証します。公開すべきDKIMレコードとSPFのincludeは、そのプロバイダーから提供されます。
- SMTPまたはAPI連携のプラグインで、WordPressをそのプロバイダーに接続します。
- WooCommerce > 設定 > メール(WooCommerce > Settings > Emails)で、差出人アドレス(From address)を自社ドメインのアドレスに設定します。WooCommerceは、GmailやYahooなどのフリーメールのアドレスを使うと、迷惑メールに振り分けられたりブロックされたりする可能性が高いと警告しています。
_dmarc.yourdomainにDMARCレコードを公開します。- WooCommerce > ステータス > ログ(WooCommerce > Status > Logs)を開き、ソース
transactional-emailsで絞り込むと、送信されたメッセージと失敗したメッセージを確認できます。
ウェブホスティングのサーバーもそのドメインでメールを送信している場合は、認証するか、送信を停止してください。アライメントの取れたSPFやDKIMなしで自社ドメインとして送信するシステムは、すべてDMARCに失敗します。
SPFの10回ルックアップ制限とは何ですか?どうすれば上限内に収められますか?
SPFのチェックで使えるDNSクエリを伴う項目は最大10個までです。1つでも超えると結果はpermerrorとなり、SPFは合格しません。
RFC 7208のセクション4.6.4 (新しいタブで開きます)には、カウント対象となる項目が挙げられています。include、a、mx、ptr、existsの各メカニズムと、redirect修飾子です。ip4、ip6、allの各メカニズムはカウントされません。制限は評価全体に適用されるため、includeの中でさらに入れ子になっているincludeもカウントされます。RFCはまた、「void lookup」(応答が返らないクエリ)を2回までに抑えることを推奨し、ptrメカニズムは公開すべきでないとしています。
10回以内に収める方法:
- 使わなくなったサービスのincludeを削除します。
- 固定アドレスで運用している自社サーバーには、
ip4またはip6を使います。 - マーケティングメールを
news.example.comなどのサブドメインに移します。サブドメインには独自のSPFレコードがあり、カウントも別になります。 - SPFレコードを2つ公開してはいけません。RFC 7208は複数のレコードを禁止しており、評価結果は
permerrorになります。
example.com. TXT "v=spf1 include:_spf.google.com include:spf.example-esp.com ~all"
news.example.com. TXT "v=spf1 include:spf.example-marketing.com ~all"
spf.example-esp.comとspf.example-marketing.comは、利用しているプロバイダーから指定される値に置き換えてください。
DMARCをp=noneからp=rejectへ移行するにはどうすればよいですか?
まずレポートを受け取る設定のp=noneから始め、レポートで判明した正規の送信元をすべて修正してから、ポリシーを強化します。
| 段階 | レコード | 目的 |
|---|---|---|
| 1. 監視 | v=DMARC1; p=none; rua=mailto:dmarc@example.com | 自社ドメインとして誰が送信しているかについて、集約レポートを集めます |
| 2. 修正 | 変更なし | 正規の送信元すべてで、アライメントの取れたSPFまたはDKIMに合格させます |
| 3. 隔離 | v=DMARC1; p=quarantine; rua=mailto:dmarc@example.com | 失敗したメールは迷惑メールフォルダーに入ります |
| 4. 拒否 | v=DMARC1; p=reject; rua=mailto:dmarc@example.com | 失敗したメールは受信を拒否されます |
次の段階に進むのは、ストアのプラットフォーム、マーケティングツール、ヘルプデスク、スタッフのメールがすべて合格していることをレポートで確認できてからにしてください。集約レポートはRFC 9990 (新しいタブで開きます)で定義されています。ruaのアドレスがレポートサービスなど別のドメインにある場合は、そのドメインがレポートの受け取りを許可するレコードを公開する必要があります。
古いガイドでは、pct=25やpct=50で段階的に導入する方法が紹介されています。RFC 9989は、0と100以外の値の扱いが受信側によってまちまちだったことからpctを削除しました(レジストリ上の扱いは現在「historic」です)。代わりにt=yを指定すると、1段階弱いポリシー(たとえばrejectではなくquarantine)を適用するよう受信側に求めることができます。試験的な段階を設けたい場合は、割合を指定するのではなくt=yを使ってください。
_dmarc.example.com. TXT "v=DMARC1; p=quarantine; t=y; rua=mailto:dmarc@example.com"
_dmarc.example.com. TXT "v=DMARC1; p=reject; sp=reject; rua=mailto:dmarc@example.com"
ポリシーを強制適用の段階にすると、対応するメールボックスでロゴを表示するBIMIも利用できるようになります。GmailでBIMIを使うには、p=quarantineまたはp=rejectのDMARCと、Verified Mark Certificate(VMC)またはCommon Mark Certificate(CMC)が必要です(Google (新しいタブで開きます))。自社ドメインで受信するメールについては、MTA-STS(RFC 8461 (新しいタブで開きます))を使うと、自社のメールサーバーが信頼できる証明書によるTLSを提供していない場合は配信しないよう、送信側のサーバーに指示できます。
自社ストアのレコードはどうやって確認できますか?
digで3種類のレコードを照会するか、レコードを読み取ってくれるチェックツールを使います。
dig +short TXT example.com
dig +short TXT _dmarc.example.com
dig +short TXT selector._domainkey.example.com
DKIMのセレクターはプロバイダーが決めるもので、自社から送信したメッセージのDKIM-Signatureヘッダーにあるs=の値で確認できます。メール到達率レポートは公開DNSを読み取り、SPFのルックアップ回数を数え、一般的なDKIMセレクターを試し、DMARCのポリシー、rua、pct、BIMI、MTA-STSを確認します。正しいレコードは役立ちますが、どのようなレコードの組み合わせでも受信トレイへの到達は保証されません。メールボックスプロバイダーは、迷惑メールの報告や送信の振る舞いも考慮するためです。
よくある質問
1日の送信数が5,000件未満のストアでもDMARCは必要ですか?
GmailがDMARCを必須としているのは大量送信者だけですが、Shopifyは、ブランドのメールアドレスから送信するにはGmailとYahooが認証済みドメインとDMARCレコードを求めていると説明しています。p=noneのレコードはリスクが低く、レポートも受け取れるため、ほとんどのストアは公開しておくべきです。
1つのドメインにSPFレコードを2つ設定できますか?
いいえ。RFC 7208では、1つのドメインに複数のSPFレコードを持たせてはならないとされており、複数ある場合のSPF評価の結果はpermerrorになります。すべての送信元を1つのレコードにまとめてください。
p=rejectにすると、Shopifyの注文メールがブロックされますか?
ShopifyのCNAMEレコードが設定済みで、DMARCレポートでShopifyのメールがアライメントの取れたDKIMに合格していれば、ブロックされません。p=noneから先に進む前にレポートを確認し、Shopifyの推奨どおり、アライメントは緩やかな設定のままにしてください。
DMARCのpctタグはまだ有効ですか?
2026年5月に公開されたRFC 9989でpctは削除され、テストモード用にt=yが導入されました。GoogleのBIMIのガイダンスでは引き続きpct=100が求められていますが、これはタグがない場合のデフォルト値です。そのため、新しくレコードを作るならpctを省くのが最もシンプルです。
SPF・DKIM・DMARCに合格すれば、メールは必ず受信トレイに届きますか?
いいえ。認証は必要条件であって、保証ではありません。GmailとYahooは、迷惑メールの報告率、登録解除の処理、メッセージの形式も確認しています。
出典
- Email sender guidelines (新しいタブで開きます)、Google、2026年10月22日閲覧
- Email sender guidelines FAQ (新しいタブで開きます)、Google、2026年10月22日閲覧
- Sender best practices (新しいタブで開きます)、Yahoo Sender Hub、2026年10月22日閲覧
- Strengthening Email Ecosystem: Outlook's New Requirements for High-Volume Senders (新しいタブで開きます)、Microsoft Tech Community、2025年4月2日(2025年4月29日更新)
- Setting up your email (新しいタブで開きます)、Shopify ヘルプセンター、2026年10月22日閲覧
- Email FAQ (新しいタブで開きます)、WooCommerceドキュメント、2026年10月22日閲覧
- RFC 7208: Sender Policy Framework (SPF) (新しいタブで開きます)、IETF、2014年4月
- RFC 6376: DomainKeys Identified Mail (DKIM) Signatures (新しいタブで開きます)、IETF、2011年9月
- RFC 7489: Domain-based Message Authentication, Reporting, and Conformance (DMARC) (新しいタブで開きます)、IETF、2015年3月(RFC 9989により廃止)
- RFC 9989: Domain-Based Message Authentication, Reporting, and Conformance (DMARC) (新しいタブで開きます)、IETF、2026年5月
- RFC 9990: DMARC Aggregate Reporting (新しいタブで開きます)、IETF、2026年5月
- RFC 8058: Signaling One-Click Functionality for List Email Headers (新しいタブで開きます)、IETF、2017年1月
- RFC 8461: SMTP MTA Strict Transport Security (MTA-STS) (新しいタブで開きます)、IETF、2018年9月
- Set up BIMI (新しいタブで開きます)、Google Workspace 管理者ヘルプ、2026年10月22日閲覧
すべてのガイド
- ADAデマンドレターが届いたら:最初に確認することウェブサイトへのADAデマンドレターで指摘されやすい点、WCAGとの関係、集めるべき資料、オーバーレイで解決しない理由、弁護士に相談する時期を解説。法的助言ではありません。
- ECサイトのCore Web Vitals:LCP・INP・CLS解説LCP・INP・CLSが測る内容、75パーセンタイルでの「良好」「不良」の基準、ラボデータとフィールドデータの違い、ShopifyとWooCommerceでのよくある改善策を解説します。
- ECサイトのテクニカルSEOチェックリスト(Shopify・WooCommerce対応)Shopify・WooCommerceのECサイト向けテクニカルSEOチェック。noindex、robots.txt、サイトマップ、title、H1、canonical、商品の構造化データ、OGP、alt属性を確認します。