#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設定は、これまで曖昧に記載していたところがあったので、
これを機会にいろいろ勉強し、理解が深まりました。
この記事もどなたかの参考になれば幸いです。