1. Home
  2. Aws
  3. AWS SESでのメール送信環境を構築する(Amazon Simple Email Service)

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

  • 公開日
  • 更新日
  • カテゴリ:AWS
  • タグ:AWS,DNS,Domain,AmazonSES
AWS SESでのメール送信環境を構築する(Amazon Simple Email Service)

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

Contents

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

検証環境

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

  • マネジメントコンソールにアクセス可能な 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 」ボタンを押下します。

DKIMDKIM(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

Author

rito

  • Backend Engineer
  • Tokyo, Japan
  • PHP 5 技術者認定上級試験 認定者
  • 統計検定 3 級