RitoLabo

AWS SESでのメール送信環境を構築する(Amazon Simple Email Service)

  • 公開:
  • 更新:
  • カテゴリ: AWS
  • タグ: AWS,DNS,Domain,AmazonSES

AWSのEメールサービスであるSES(Simple Email Service)の導入手順の確認や初期設定を行います。

アジェンダ
  1. 検証環境
  2. SESの導入開始
    1. 対応リージョンの選択
  3. 送信承認ポリシーの作成
    1. ドメインでの認証
      1. DNS設定
      2. メール送信テスト
    2. メールアドレスでの認証
      1. メール送信テスト
  4. 送信の確認

検証環境

今回の作業で必要になるものは以下です。

  • マネジメントコンソールにアクセス可能なAWSアカウント
  • DNS設定等、使用可能なドメイン
  • 受信可能なメールアドレス

SESの導入開始

まずはAWSの管理画面から、SESのコンソールページへ移動します。

「カスタマーエンゲージメント」に「Simple Email Service」のアンカーテキストがあるのでそこを押下するか、上部にあるフォームから「SES」と入力するとページのリンクが表示されます。

Simple Email Serviceリンク

対応リージョンの選択

リージョンの選択

[Region Unsupported]
Simple Email Service is not available in アジアパシフィック (東京). Please select another region.

[サポートされていない地域]
シンプルメールサービスはアジアパシフィック(東京)では利用できません。 別の地域を選択してください。

2018年2月時点で東京リージョンでは対応していないので、今回は米国東部 (バージニア北部)を選択します。

送信承認ポリシーの作成

ページ遷移したら、送信を行うリソースの設定・認証を行います。

認証には「ドメイン」と「メールアドレス」の2つがあります。

ドメインでの認証

ドメインをリソースとして追加した場合は、そのドメインでのメール送受信が行えるようになります。

ナビゲーションの「Identity Management」にある「Domains」を押下します。

Domainsリンク

「Verify a New Domain」ボタンを押下します。

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つです。

DNS設定画面

「ViewDetails」から、再度設定すべき情報にアクセスできます。

ViewDetails

設定を済ませたら、数分待つと、ドメインの所有者宛て(whoisで登録されているメールアドレス)に認証完了のメールが届きます。

認証完了メール

コンソロールを更新すると、ステータスが「pending verification」から「verified」へ変わっている事が確認できます。

verified

これでドメイン検証は完了です。

メール送信テスト

検証が完了したので、メール送信テストを行ってみます。

Send a Test Emailボタン

一覧から対象ドメインにチェックを入れると、上部にある「Send a Test Email」ボタンがアクティブになるので、押下します。

テスト送信画面(ドメインリソース)

送信先などを入力して「Send Test Email」を押下します。

ちなみに送信先に関しては受信できる任意のメールアドレスでOKです。(ドメインが違っても送信できます)

メール受信

問題なくメールが届きました。

これでドメインでのリソース追加は完了です。

メールアドレスでの認証

メールアドレスをリソースとして追加した場合は、そのメールアドレスでのメール送受信が行えるようになります。

ナビゲーションの「Identity Management」にある「Email Address」を押下します。

Email Addressリンク

「Verify a New Email Address」ボタンを押下します。

Verify a New Email Addressボタン

モーダルが表示されるので、メールアドレスを入力し「Verify This Email Address」ボタンを押下します。

Verify This Email Addressボタン

入力したメールアドレス宛にメールが届くので、表示されているURLをクリックします。

認証メール

これで認証は完了です。

認証完了画面

メール送信テスト

一覧から対象ドメインにチェックを入れると、上部にある「Send a Test Email」ボタンがアクティブになるので、押下します。

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