Amazon SESでドメインIDの検証がいつまでも保留中だったときの対応まとめ
※結論だけ見たい人は目次の見出しから飛んでください
お客さんのところでまとまったメール(といっても1000件はいかない)を送信する必要があり、レンタルサーバーとかのメールだとスパムと判断されていきなり止められるなんてことが起こりそうなのでAmazon SESを契約することにしました。
Amazon SESはAmazonのメールサーバーみたいなサービスです。あらかじめアドレスやドメインをサンドボックス上でしっかり検証した上で本番にアップグレードするようになっているため、スパム嫌疑をかけられてサーバーを止められるなんて可能性もレンタルサーバーよりは低いです。受信者からスパム判定だったりした件数もダッシュボードでわかるようになっています。
SESはアドレスやドメインごとにきちんと有効なものかどうかを検証するプロセスがあります。メールアドレスは検証用のメールを送信してもらって、リンクをクリックするというよくあるタイプのものなのですが、ドメインまるごとを対象とする場合はDNSに指定されたCNAMEを設定する方法をとります。
今回はドメイン検証だったので、生成されたCNAMEを利用しているDNSのレコードに追記するだけで済みました。が、いつまでたっても検証保留中とでてしまい本番へ移行することができません。対策としては次の3つが考えられます。
ドメインまるごとをやめてメールアドレスの検証に切り替える
DNSのTTLを見直す
CNAMEのNameが正しいかを見直す
1ができれば楽でいいんですが、今回はパスです。2についてはTTLが3600とかになっていると検証までに時間がかかることが考えられるので、一旦600(10分)とかにしておいて、検証が終わったら元の数値に戻しておくのがいいかもしれません。
今回TTLを600にしてみても一向に検証が完了しなかったので、3のケースを疑いました。
CNAMEの値を修正する
一度ドメインを削除して再度設定をやり直しましたが、生成されるCNAMEは同じものでした。Amazonのドキュメントを見てみると、このようなことが書かれていました。
何言ってるのかわからん文章ですが、かりにexample.com のCNAMEのNameをhogeに設定した場合、フィールドにはhogeしか入れてないのにレコードとしてはhoge.example.com になってる場合があるよということでした。
そして利用しているDNSはまさにそれで、フィールドにAmazon SESが生成したCNAMEをそのままコピペしていたので hoge.example.com.example.com という形になって登録されていました。
サービスによっては設定されているレコードのサマリーが表示される画面があると思うので、そこでレコードの状況を確認しましょう。そしてドメインが2個連続している場合は、Amazon SESからコピーした値からドメイン部分を削除して登録し直せばOKです。
ウチはこれで検証が完了して、無事本番への移行手続きに入ることができました。
皆様の検証が無事終わることを祈っています。それでは。
よろしければサポートをお願いします。得られたお金は社で飲むコーヒー豆や撮影機材の購入費用に充てようと思っています。