メールが DMARC 認証に合格するには、SPF 認証と SPF アライメント、または DKIM 認証と DKIM アライメントのいずれかに合格する必要があります。
そのため、SPF と DKIM のどちらかが認証とアライメントを Pass している場合は、もう一方が未導入または Fail となっていても DMARC 認証に Pass することができます。
逆に言うと、SPF と DKIM の認証がどちらもPassしていたとしても、アライメントが両方ともPassできなかった場合は DMARC の認証は Fail になります。
SPFアラインメントとは?
SPF アライメントは、ヘッダー From とエンベロープ From (Return-Path) のドメインが同一の場合は Pass、ドメインが異なる場合はFailとなります。
成功例
ヘッダー From : contoso.com
失敗例
ヘッダー From : contoso.com
DKIMアライメントとは?
DKIM アライメントは、ヘッダー From のドメインと DKIM 証明のドメインが一致する場合はPass、異なる場合はFailとなります。
DKIM 証明のドメインを確認するには、ヘッダーの [Authentication-Results] に header.d="ドメイン" として記録されます。
例
dkim=pass (signature was verified) header.d=contoso.com
成功例
ヘッダーFrom : contoso.com
Authentication-Results : header.d=contoso.com
失敗例
ヘッダーFrom : contoso.com
Authentication-Results : header.d=domain.com
まとめ
DMARCの認証については、SPF と DKIM の認証だけがPass していれば、Passするというわけではないということですね。SPFのアライメントをPassするようにしたいのであれば、ヘッダーFrom とエンベロープFromを一緒のドメインにしておけば問題ないです。DKIMのアライメントはヘッダーFromのドメインと同じドメインでDKIM証明をおこなうように設定しておけば問題ありません。