AWS SESでのメール送信環境を構築する(Amazon Simple Email Service)
- 公開:
- 更新:
- カテゴリ: AWS
- タグ: AWS,DNS,Domain,AmazonSES
AWSのEメールサービスであるSES(Simple Email Service)の導入手順の確認や初期設定を行います。
検証環境
今回の作業で必要になるものは以下です。
- マネジメントコンソールにアクセス可能なAWSアカウント
- DNS設定等、使用可能なドメイン
- 受信可能なメールアドレス
SESの導入開始
まずはAWSの管理画面から、SESのコンソールページへ移動します。
「カスタマーエンゲージメント」に「Simple Email Service」のアンカーテキストがあるのでそこを押下するか、上部にあるフォームから「SES」と入力するとページのリンクが表示されます。
対応リージョンの選択
[Region Unsupported]
Simple Email Service is not available in アジアパシフィック (東京). Please select another region.
[サポートされていない地域]
シンプルメールサービスはアジアパシフィック(東京)では利用できません。 別の地域を選択してください。
2018年2月時点で東京リージョンでは対応していないので、今回は米国東部 (バージニア北部)を選択します。
送信承認ポリシーの作成
ページ遷移したら、送信を行うリソースの設定・認証を行います。
認証には「ドメイン」と「メールアドレス」の2つがあります。
ドメインでの認証
ドメインをリソースとして追加した場合は、そのドメインでのメール送受信が行えるようになります。
ナビゲーションの「Identity Management」にある「Domains」を押下します。
「Verify a New Domain」ボタンを押下します。
モーダルが表示されるので、ドメインを入力。「Generate DKIM Settings」にチェックを入れ「Verify This Domain」ボタンを押下します。
- DKIM
- DKIM(DomainKeys Identified Mail)は、電子署名方式の送信ドメイン認証です。送信した電子メールがドメインから発信され、本物であることを証明します。 DKIMの署名は、ドメインのDNSシステムに保存されます。
ここで一緒にDKIMのDNSレコードを生成することも、このドメインのDKIMタブで後で行うこともできますが、後で行う理由もないので、ここでレコード生成を行う為にチェックを入れます。
DNS設定
ボタンを押下すると、ドメインのステータスが「保留中の確認(pending verification)」として、検証済みIDのリストに追加されます。 このドメインの検証を完了するために、モーダル表示されている情報を基にドメインプロパイダ側でDNS設定を行います。
今回はお名前.comで行いました。設定したものは「CNAME」が3つ、「MX」が1つ、「TXT」が1つです。
「ViewDetails」から、再度設定すべき情報にアクセスできます。
設定を済ませたら、数分待つと、ドメインの所有者宛て(whoisで登録されているメールアドレス)に認証完了のメールが届きます。
コンソロールを更新すると、ステータスが「pending verification」から「verified」へ変わっている事が確認できます。
これでドメイン検証は完了です。
メール送信テスト
検証が完了したので、メール送信テストを行ってみます。
一覧から対象ドメインにチェックを入れると、上部にある「Send a Test Email」ボタンがアクティブになるので、押下します。
送信先などを入力して「Send Test Email」を押下します。
ちなみに送信先に関しては受信できる任意のメールアドレスでOKです。(ドメインが違っても送信できます)
問題なくメールが届きました。
これでドメインでのリソース追加は完了です。
メールアドレスでの認証
メールアドレスをリソースとして追加した場合は、そのメールアドレスでのメール送受信が行えるようになります。
ナビゲーションの「Identity Management」にある「Email Address」を押下します。
「Verify a New Email Address」ボタンを押下します。
モーダルが表示されるので、メールアドレスを入力し「Verify This Email Address」ボタンを押下します。
入力したメールアドレス宛にメールが届くので、表示されているURLをクリックします。
これで認証は完了です。
メール送信テスト
一覧から対象ドメインにチェックを入れると、上部にある「Send a Test Email」ボタンがアクティブになるので、押下します。
モーダルが表示されたら、送信先などを入力して「Send Test Email」を押下します。(送信先については、FROMと同じでなければ送信できません。)
こちらも問題なくメールが届きました。
送信の確認
送信されたメールはコンソールからも確認できます。
①「Sending Statistics」を押下すると送信ログにアクセスできます。
②の部分を見ると、2通送信されている事が確認できます。
また、現在の状況ではサンドボックスモードなので1日200通までの送信制限や、メールアドレスでのリソース追加の場合は同一メールアドレスにしか送信できないなど、制限がかかっています。
これを解除するには③にある「Request a Sending Limit Increase」ボタンを押下し、解除申請を行う必要があります。
まとめ
以上でSESの初期導入は完了です。
ここからは各々のセッティングでWEBアプリケーションからAmazon SES APIを叩いてメール送信を行ったり、SMTPを使用してメールを送信したりと、使い方は様々です。
初期のセッティング自体は難しくないので、是非試してみてください。
Amazon SES 開発者ガイド
https://docs.aws.amazon.com/ja_jp/ses/latest/DeveloperGuide/sending-email.html