AWS
ses
dns

AWSのSESのDNS設定を、ValueDomainにて行った記録

AWSのSESを、Value-DomainでDNS設定

AWS(Amazon Web Service)のSES(Simple Email Service)は非常にスケーラブルで便利なメール発信サービスですが、
Value-DomainにてDNS設定した際、設定に難航したので、同様の方に向けてメモを残します。
特にDKIMやSPF,MAIL FROM設定でハマったので、その記録です。

SES公式マニュアルがあるので、基本的な進行はこちらでの確認をお勧めします。
https://docs.aws.amazon.com/ja_jp/ses/latest/DeveloperGuide/Welcome.html

最初にサンドボックス外へ出られるようリクエスト

これは、Value-domainの話ではないのですが、
最初に「サンドボックス」から出られるよう申請する必要がありました。
以下の手順通りに進めば問題ないはずですが、私は読み飛ばしました(汗
https://docs.aws.amazon.com/ja_jp/ses/latest/DeveloperGuide/quick-start.html

サンドボックスから出ないと、任意のアドレスに送信できません。
しばし私ははまりましたので、念のため。

DNS設定の他、いろいろ手間がかかりましたが、そこは他にたくさん良記事があるので割愛します。

成功した記載法(DNS設定)

まずは、結果的に全てverifiedになったValue-DomainでのSES設定を記載します。

txt _amazonses.example.com hogefugafoobaa=
cname cname1txt._domainkey cname1txt.dkim.amazonses.com.
cname cname2txt._domainkey cname2txt.dkim.amazonses.com.
cname cname3txt._domainkey cname3txt.dkim.amazonses.com.
mx feedback-smtp.us-west-2.amazonses.com. 10 ses 
txt ses v=spf1 include:amazonses.com ~all

この中で特に、私はcnameの設定と、mxレコードの設定ではまりました。

以下の部分はほぼそのままなのですんなりいけました。

txt _amazonses.example.com hogefugafoobaa=

これ以外の部分を以下、記載してゆきます。

Value-DomainにおけるSESのDKIM,cname設定

3つのcnameを設定する必要がありました。
(設定は、左ペインの「Domains>domain-name」の下の「DKIM」にあります)

cnameの記述方法は、

cname cname1txt._domainkey cname1txt.dkim.amazonses.com. ("cname1txt"は上記ページに記載されている値)

というものでした。

cnameの後に、_domainkeyまで書き、その後に自ドメイン名の記載は必要なしでした。
その次は、DKIMの設定欄に書かれている通りの「cname1txt.dkim.amazonses.com.」といったものを記載し、
最後に「.(ピリオド)」を打つのが必要でした。

これを、3つ分記載してverifiedに。

Value-DomainにおけるSESのmxレコード設定

mxレコード設定も私はverifiedが出るまで試行錯誤してしまいました。

最終的に以下のような形にして、verifiedとなりました。

mx feedback-smtp.us-west-2.amazonses.com. 10 ses 

mxの後に、「feedback-smtp.us-west-2.amazonses.com.」を、最後にピリオド付きで。
(リージョンによって、ここのアドレスは異なるはずです)
半角を開けて、優先順位の数字を記載し、
また半角を開けて、利用するサブドメイン名を記載(ここでは「ses」)。

これで通りました。

以下のページにヒントがありました。
http://perl.no-tubo.net/2011/01/31/dnsのmxレコードでハマる%E3%80%82valuedomain編/

SPF設定

SPFの設定は、以下のように記載しました。(これはほぼそのままでした)

txt ses v=spf1 include:amazonses.com ~all

(ただ、試しに送信したメールのヘッダーソースを見ると、
sender-id=softfail
とあり微妙ですが、まだ私は改善方法をわかっていません。)

最後に、Email AddressesでMAIL FROM Domainを設定

上記までの設定をDomainに対して行うと、私のSES管理画面では、すべてverifiedとなりました。
(verifiedにたどり着くまで、結構苦労しました)

そして最後に、SES管理画面左ペインのDomainsの下の、Email Addressesの画面に行き、
「MAIL FROM Domain」設定欄で、先にDomain設定にて設定したサブドメインを入力して、無事そこもverifiedとなりました。

終わりに

DNS設定は、これまで曖昧に記載していたところがあったので、
これを機会にいろいろ勉強し、理解が深まりました。

この記事もどなたかの参考になれば幸いです。