DMARC pct タグとは何ですか?
DMARC の pct タグは、ドメイン所有者の DMARC ポリシーを適用する、認証に失敗したメッセージの割合を定義していました。これは、DMARC が段階的に適用を進めるための、プロトコル内で唯一の方法でした。たとえば pct=10 と p=quarantine を指定したレコードは、認証に失敗したメールの 10% を隔離し、残りは通過させるよう受信サーバーに伝える意図がありました。DMARCbis(RFC 9989、2026年5月公開)では、この pct タグが削除されました。受信サーバーによる扱いが一貫しておらず、運用者が期待したとおりに機能することがほとんどなかったためです。
状況の補足:DMARCbis は pct タグを削除しますが、緊急対応が必要なわけではありません。既存のレコードは引き続き有効であり、受信サーバーが一夜にしてメールの扱いを変えることもありません。変わるのは、DMARCbis 対応の受信サーバーが pct<100 をすべて pct=100 として扱う点です。つまり、部分的な割合指定ではもはや何も抑制されません。仕様の範囲内で最も近い選択肢は、新しい t(テスト)タグです。t=y はレコードをテストモードにし、実効ポリシーを1段階引き下げます。そのため p=reject のレコードに t=y を付けると p=quarantine として扱われ、t=n では指定したポリシーが適用されます。割合や段階的な調整の仕組みはないため、DMARCbis は段階的な適用の真の代替手段を提供しません。この課題は運用者側に委ねられることになります。
たとえば、pct=50 と p=quarantine を指定したレコードは、DMARC に失敗したメッセージの半分を隔離し、残りを配信する想定でした。しかし受信サーバーが中間値を不均一に扱ったため、ドメインが公開した割合と実際にメールへ適用された割合が一致することはほとんどありませんでした。
pct タグを使った DMARC レコードの例です。
v=DMARC1; p=reject; rua=mailto:dmarc-reports@example.com; pct=25ここでの意図は、受信サーバーが認証されていないメッセージの 25% のみを拒否し、管理者が結果を確認してから完全な適用へ移行できるようにすることでした。しかし実際には、ほとんどの受信サーバーが確実に尊重したのは pct=0 または pct=100 だけであり、これがこの仕組みが削除された理由です。
集約レポートと組み合わせることで、pct タグはドメイン所有者がポリシーの影響を各メールストリームごとに測定するのに役立つ想定でした。集約レポートは今もその役割を果たします。サンプリング用のタグは果たしません。
pct<100 を完全な適用として扱うため、部分的な割合指定ではポリシーが緩和されなくなります。t=y が仕様内の選択肢ですが、割合ではなく1段階のポリシー引き下げとして扱ってください。DMARCeye は、pct がうまく扱えなかった移行、つまり正規のメールを壊さずに監視から適用へ移ることに特化して作られています。未知の送信元を検出し、より厳格なポリシーを適用する前に何が失敗するかを事前に示し、pct のような旧来のタグを指摘して、ご自身のスケジュールで廃止できるようにします。
認証結果とポリシーの結果を関連付けることで、DMARCeye は各段階の厳格化をデータに基づいた低リスクなものに保ちます。
ご自身のドメインの保護状況が気になりますか?無料でDMARCをチェックしましょう:
DMARCeyeの無料トライアルに登録して、メールドメインを保護しましょう。
DMARCおよび関連用語について詳しくは、DMARCeye用語集をご覧ください。