SESのドメイン検証をレガシーのTXTレコードで実施したい
困っていたこと
SESのIDを新規登録した際、ドメイン検証を選択すると、昔はDKIMのCNAMEレコードとドメイン検証用のTXTレコードが表示されましたが、2025年時点ではTXTレコードは表示されません。
TXTレコードでドメイン検証はできないでしょうか。
参考
Amazon Route 53 以外のドメインレジストラ (お名前.com) を使って Amazon SES の SPF, DKIM, DMARC を設定してみる | DevelopersIO
_amazonses.YOUR_DOMAIN_NAME: ドメイン検証用のTXTレコード
どうすればいいのか
2025年月時点では、マネジメントコンソールを利用した場合、 SES のドメイン検証は DKIM での検証のみ利用可能です。
しかし、AWS CLI などを利用し VerifyDomainIdentity API 経由でTXTレコードでドメイン検証を実施することが可能です。
Use VerifyDomainIdentity with an AWS SDK or CLI - Amazon Simple Email Service
以下の例では、verify-domain-identity コマンドを使用してドメインを認証しています。
aws ses verify-domain-identity --domain example.com
ドメイン検証を完了するには、返された検証トークンと共に、TXT レコードをドメインの DNS 設定に追加する必要があります。
手順
1.ドメイン検証を実施したいドメインを指定し、CLIにて以下のコマンドを実行します。TXTレコードの値が発行されるのでメモしておきます。
$ aws ses verify-domain-identity --domain example.com
{
"VerificationToken": "eoEmxw+YaYhb3h3iVJHuXMJXqeu1q1/wwmvjuEXAMPLE"
}
マネジメントコンソールでSESの画面を確認すると、該当ドメインのIDが作成され、ID ステータスがPendingとなっていることが確認できます。
2.Route53などのホストゾーンに、以下のようにTXTレコードを作成します。
名前:_amazonses.<検証するドメイン名>
値:手順1で取得した値(eoEmxw+YaYhb3h3iVJHuXMJXqeu1q1/wwmvjuEXAMPLE)
3.レコードを作成して数分後、該当IDのID ステータスが「検証済み」となっていることを確認できました。
参考資料
Use VerifyDomainIdentity with an AWS SDK or CLI - Amazon Simple Email Service