SPFやDKIMで緑のチェックマークが表示されていても、DMARCでは失敗と判定されることがあります。これは、なりすましメールの通過を許し、到達率を低下させる「不一致」が原因です。その理由は「アライメント(Alignment)」にあります。これは、メッセージを認証するドメインが、Fromヘッダーに表示されているアドレスと一致することを強制するルールです。
SPFとDKIMだけでは不十分な理由
SPF (Sender Policy Framework) は、バウンス(配送不能通知)に使用されるエンベロープ送信者である Return-Path アドレスを検証します。このアドレスは、受信トレイに表示されるブランドではなく、メール配信プロバイダーのものになっていることがよくあります。
DKIM (DomainKeys Identified Mail) は、ヘッダー内の暗号署名に付随するドメインを検証します。署名者は、送信者自身のドメインである場合もあれば、サードパーティサービスのドメインである場合もあります。
両方のチェックをパスしたとしても、Return-PathまたはDKIM署名ドメインのいずれも、表示されているFromアドレスと一致(アライメント)していない場合、DMARC (Domain-based Message Authentication, Reporting & Conformance) は失敗を報告します。
4つの一般的なアライメント失敗
- プロバイダー所有のドメイン – 多くのバルクメールプラットフォームは、独自のReturn-Pathを設定し、独自のDKIMキーで署名します。これらを自社ドメインに置き換えない限り、DMARCは不一致と判断します。
- メールの転送 – 下流のサーバーがメッセージを転送する場合、転送元のIPアドレスがSPFレコードに記載されていないため、通常SPFチェックは失敗します。転送の過程でDKIM署名まで書き換えられてしまうと、DMARCは頼るべき手段を失います。
- DKIMの破損 – 設定ミスやDNSエラーにより、DKIMが失敗することがあります。その場合、DMARCはSPFに依存することになりますが、SPFのReturn-Pathもアライメントされていない場合は、再び失敗となります。
- 厳格なアライメントモード –
aspf=sまたはadkim=sを設定すると、DMARCは親ドメインの関係性だけでなく、完全なドメインの一致を要求します。ドット一つでも異なるサブドメインは、失敗の対象となります。
問題の特定方法
問題が発生しているメッセージの生のソースを開き、Authentication-Results ヘッダーを探します。そこには、SPF、DKIM、DMARCの各チェックの結果と、それぞれのテストで評価されたドメインが記載されています。
- smtp.mailfrom (Return-Path) と、From ヘッダー内のドメインを比較します。
- DKIM-Signature ブロック内の header.d タグと、From ドメインを比較します。
どちらの比較においても一致が見られない場合、原因はアライメントにあります。
DMARCをパスさせるための修正策
- アライメントされたReturn-Pathを使用する – ほとんどの送信プラットフォームでは、カスタムのバウンスドメインを公開できます。そのドメインを自身が管理するDNSゾーンに向け、SPFレコードに追加してください。
- アライメントされたDKIM署名を導入する – DKIM署名の
d=タグを自社ドメイン(または所有するサブドメイン)に設定し、対応する公開鍵をDNSに公開します。DKIMはほとんどの転送シナリオにおいても有効であるため、アライメントを実現するための最も信頼性の高い方法です。
まとめ
SPFとDKIMをパスさせることは、戦いの半分に過ぎません。ドメインのアライメントができていなければ、DMARCは依然としてメッセージを「未認証」としてフラグ立てします。Return-PathまたはDKIM署名ドメインのいずれかを、表示されているFromアドレスと一致させ、生のヘッダーで設定を確認し、必要に応じて厳格さを調整してください。アライメントが整えば、DMARCはパスを報告し、ブランドを保護してインボックスへの到達率を向上させることができます。
