Amazon SES の DKIM 問題のトラブルシューティング - Amazon Simple Email Service

Amazon SES の DKIM 問題のトラブルシューティング

このセクションでは、Amazon SES で DKIM 認証を設定するときに発生する可能性のある問題について説明します。DKIM を設定しようとしたときに問題が発生した場合は、以下の考えられる原因と解決策を確認してください。

DKIM を正常にセットアップしたが、メッセージが DKIM 署名されていない

Easy DKIM または BYODKIM を使用してドメインの DKIM を設定したが、送信するメッセージが DKIM 署名されていない場合は、次の手順を実行します。

  • 適切な ID に対して DKIM が有効になっていることを確認します。Amazon SES コンソールで ID に対して DKIM を有効にするには、ID リストで E メールドメインを選択します。ドメインの詳細ページで、[DKIM] を展開し、[Enable] を選択して DKIM を有効にします。

  • 同じドメインの確認済み E メールアドレスから送信していないことを確認します。ドメインに DKIM を設定した場合は、そのドメインから送信するすべてのメッセージが DKIM 署名されます。ただし、個別に確認した E メールアドレスは除外されます。個別に確認された E メールアドレスには、別の設定が使用されます。たとえば、ドメイン example.com に DKIM を設定し、E メールアドレス mary@example.com を個別に検証した場合 (ただし、アドレスに DKIM を設定していない場合)、mary@example.com から送信する E メールは DKIM 認証なしで送信されます。この問題は、アカウントの ID リストから E メールアドレス ID を削除することで解決できます。

  • 複数の AWS リージョンで同じ ID を使用する場合は、リージョンごとに個別に DKIM を設定する必要があります。同様に、同じドメインを複数の AWS アカウントで使用する場合は、アカウントごとに DKIM を設定する必要があります。特定のリージョンやアカウントに必要な DNS レコードを削除すると、Amazon SES はそのリージョンやアカウントの DKIM 署名を無効にします。DKIM 署名が無効になると、Amazon SES は E メールで通知を送信します。

Amazon SES コンソールのユーザードメインの DKIM 詳細に、DKIM: waiting on sender verification...DKIM 検証ステータス: 検証の保留中。

Easy DKIM または 独自の DKIM 認証トークンを提供する の手順を実行してドメインの DKIM を設定しても、Amazon SES コンソールに DKIM 検証が保留中であることが示される場合は、次の手順を実行します。

  • 最長で 72 時間待ちます。まれに、DNS レコードが Amazon SES に表示されるまでに時間がかかることがあります。

  • CNAME レコード (Easy DKIM の場合) または TXT レコード (BYODKIM の場合) に正しい名前が使用されていることを確認します。DNS プロバイダーによっては、作成するレコードにドメイン名が自動的に付加される場合があります。たとえば、example._domainkey.example.com の [Name] でレコードを作成した場合、DNS プロバイダーはこの文字列の末尾にドメインの名前を追加して、example._domainkey.example.com.example.com という名前にします。詳細については、DNS プロバイダーのドキュメントを参照してください。

Amazon SES から、DKIM の設定が取り消された (または取り消される) という E メールが届きます。

これは、Amazon SES が DNS サーバー上で必要な CNAME レコード (Easy DKIM を使用している場合) または必要な TXT レコード (BYODKIM を使用している場合) を検出できなくなっていることを意味します。通知 E メールには、DNS レコードを再発行することで DKIM のセットアップステータスが失効して DKIM 署名が無効化されるのを回避できる残りの期間が記載されています。DKIM のセットアップが失効した場合は、DKIM のセットアップ手順を最初から繰り返す必要があります。

BYODKIM を設定しようとすると、DKIM 検証プロセスに失敗します。

プライベートキーが正しい形式を使用していることを確認してください。プライベートキーは PKCS #1 形式で、1024 ビットの RSA 暗号化を使用する必要があります。さらに、プライベートキーには base64 エンコードを適用する必要があります。

BYODKIM のセットアップ中にドメインのパブリックキーを指定しようとすると BadRequestException エラーが表示されます。

BadRequestException エラーが発生した場合は、次の操作を行います。

  • パブリックキーに指定するセレクタに、1 ~ 63 文字の英数字が含まれていることを確認します。セレクタに、ピリオド、その他の記号、句読点を含めることはできません。

  • パブリックキーからヘッダー行とフッター行を削除し、パブリックキーからすべての改行を削除したことを確認します。

Easy DKIM を使用すると、DNS サーバーは Amazon SES DKIM CNAME レコードを正常に返しますが、ドメイン検証 TXT レコードに対しては SERVFAIL を返します。

DNS プロバイダーが CNAME レコードをリダイレクトできない場合があります。Amazon SES および ISP は TXT レコードをクエリします。DKIM の仕様に準拠するには、DNS サーバーが CNAME レコードに対するクエリだけでなく、TXT レコードに対するクエリにも応答できる必要があります。DNS プロバイダーが TXT レコードのクエリに応答できない場合は、DNS ホスティングプロバイダーとして Route 53 を使用することもできます。

E メールに 2 つの DKIM 署名が含まれている

追加の DKIM 署名 (d=amazonses.com を含む) は、Amazon SES によって自動的に追加されます。この署名は無視できます。