Amazon SESでSPFとDKIMを設定してみた
SESで専用IPアドレスを取得してSPFとDKIMの設定をしてみました。ドメインはRoute53で取得してあるやつを使います。
専用IPアドレスの取得
サポートに連絡して専用IPアドレスを解放してもらいました。
リクエストが通らないことがあるのかもと思って通りやすそうな内容にしてみました。
バウンス通知、苦情通知の手段を明記しておきました。
New limit valueは1秒間あたりの送信レートです。通常は1秒1通なので、それをうわまるようにして見ました。
申請してから2日以内に完了しました。
一度お金かかるけどいいの?と返信がきました。
専用IPアドレスが払い出されると、一旦専用のアドレスプールses-default-dedicated-poolが作られます。これは削除することができません。自分のアドレスプールを作って移動させることもできます。1つのIPアドレスと複数のIPプールに配置することはできないみたいです
払い出されると送信制限上限が上げられます。
そこまで上げてとはお願いしてないんですが???
サンドボックスなので誤って変なところに送信することもないのでとりあえずオッケーです。
SPFの設定
取得した専用IPアドレスを使ってSPFを設定します。Route53でレコードを追加しました。
"v=spf1 include:amazonses.com +ip4:<IPアドレス1> +ip4:<IPアドレス2> ~all"
リクエストするときに冗長構成のために2つ申請していたのでIPを設定しています。このアドレスがどういう場所に設置されているのか実体の場所は不明ですがリージョンは東京とリクエストしているので、どこかのAZに配置されているのでしょう。
DKIMの設定
続いて持っているドメインでDKIMの設定します。が、SESでドメインを認証することで設定を省略します。
Easy DKIMを選択し登録するとRoute53に自動で設定されます。手動設定が必要なドメインでは72時間以内に設定を完了させる必要があります。このタイミングで設定が必要なレコードはCNAMEです。
SPF、DKIMの設定の確認
メール送信して確認する必要があります。
ドメイン認証をしているので、認証済みのメールアドレスであれば送れます。test mail 送信機能でシナリオをCustomにするとメールの受信先を選べますので、認証済みメールアドレスを使います。
テストメールを確認します、
Gmailの場合、オプションから「メッセージのソースを表示」を表示すると認証結果を確認できます。
SPFとDKIMどちらも認証が成功していることが確認できました。
SPFの場合は専用IPアドレスであること、DKIMの場合は自分のドメインがPASSしていることを確認が必要です。
P.S. 専用IPアドレスは1つあたり月額$25ですので、ご利用は計画的に
個人でやる分には共有IPプール使うのがベストだと思います。
冗長構成組むと2つ必要なので月額5000円超えます。個人で検証するにはちょっと高いですし、スループット試すならサンドボックスから出ないといけず、その場合は誤送信のリスクが高まります。注意してください。