Amazon Simple Email Service (Amazon SES) で送信したメールが、Sender Policy Framework (SPF) アライメントまたは DomainKeys Identified Mail (DKIM) アライメントに関する Domain-based Message Authentication Reporting and Conformance (DMARC) 検証に合格できません。
簡単な説明
SPF アライメントと DKIM アライメントの両方で、厳密アライメントまたは緩和アライメントのどちらかを満たす必要があります。
SPF アライメントを確認するために、DMARC は Mail From ドメインまたは Envelope From ドメインを From ドメインと照合します。厳密アライメントとは、Mail From ドメインまたは Envelope From ドメインが From ドメインと同一である場合を指します。緩和アライメントとは、Mail From ドメインまたは Envelope From ドメインが From ドメインのサブドメインである場合を指します。
DKIM アライメントを確認するために、DMARC は DKIM 署名の d= ドメインを From ドメインを照合します。厳密なアライメントとは、d= ドメインが From ドメインと同一である場合を指します。緩和アライメントとは、d= ドメインが From ドメインのサブドメインである場合を指します。
解決策
DMARC レコードで SPF または DKIM に緩和アライメントを使用する
メールが DMARC 検証に合格するようにするには、緩和アライメントを使用します。
SPF と DKIM のドメインで DMARC アライメントを確認するには、次のコマンドを実行します。
nslookup -type=TXT _dmarc.example.com
このコマンドは、次のような DMARC レコードを返します。
"v=DMARC1;p=quarantine;pct=25;rua=mailto:hello@example.com"
SPF 認証では、レコードに aspf タグが含まれていないか、aspf=r という文字列が含まれている場合、ドメインは緩和アライメントを使用します。上記の例には aspf タグが含まれていないため、ドメイン例では緩和アライメントを使用しています。レコードに aspf=s という文字列が含まれている場合、ドメインは厳密アライメントを使用しています。
DKIM では、レコードに adkim タグが含まれていないか、adkim=r という文字列が含まれている場合、ドメインは緩和アライメントを使用しています。レコードに adkim=s という文字列が含まれている場合、ドメインは厳密アライメントを使用しています。
厳密アライメントから緩和アライメントへの変更は、システム管理者のみが実施できます。
SPF 認証で DMARC に準拠する
メッセージが SPF 認証経由で DMARC に準拠していることを確認するには、次の設定を検証します。
- MAIL FROM ドメインの SPF レコードには、include:amazonses.com が含まれている必要があります。
- 送信側メールサーバーが受信側メールサーバーに指定する MAIL FROM ドメインは、メールヘッダーの FROM アドレスと一致する必要があります。
Amazon SES を使用してメールを送信する際、MAIL FROM ドメインはデフォルトで amazonses.com のサブドメインになります。From ドメインは、メールの送信元のドメインです。MAIL FROM ドメインが From ドメインと一致しない場合、SPF アライメントは DMARC 検証に合格しません。
この問題を解決するには、メールの送信元である検証済み ID にカスタム MAIL FROM ドメインを設定する必要があります。カスタム MAIL FROM ドメインは、常に親ドメインのサブドメインとなります。たとえば、認証済みドメイン (From ドメイン) が example.com の場合は、カスタム MAIL FROM ドメインには mail.example.com を設定できます。
SPF 認証はでは MAIL FROM ドメインをチェックするため、Amazon SES のカスタム MAIL FROM サブドメインに SPF レコードを追加します。カスタム MAIL FROM ドメインはサブドメインなので、サブドメインでは SPF (aspr=r) に緩和ポリシーを使用する必要があります。
DKIM 認証で DMARC に準拠する
メッセージが DKIM 認証経由で DMARC に準拠していることを確認するには、次の設定を検証します。
- メッセージには有効な DKIM 署名があり、DKIM チェックに合格している。
- メールヘッダーの From アドレスが DKIM 署名の d= ドメインと一致している。
Amazon SES で Easy DKIM を使用すると、3 つの CNAME レコードが付与されます。DKIM レコードを確認するには、各 CNAME に次のコマンドを実行します。
nslookup -type=CNAME example1._domainkey.example.com
注: example1._domainkey.example.com は実際の CNAME レコード名に置き換えます。
このコマンドは DKIM レコードを返します。
example1.dkim.amazonses.com.
DKIM 経由で両方の DMARC 検証要件を満たすことができるため、Easy DKIM を使用することをおすすめします。メールに手動で署名することもできますが、Amazon SES は DKIM 署名を検証しません。