Amazon SESによるメール配信方法

こんにちは!バレットグループの山口です! 今回はタイトルにもあります通りAmazon SESによるメール配信についてご紹介したいと思います。

aws.amazon.com

Amazon SES (Simple Email Service)はAmazon Web Serviceが提供しているメール配信サービス
です。 単純な配信機能に限らず、SPF*1DKIM*2のような認証方法や、メールの送信結果の統計情報といったようなメールの送信品質を担保するような機能を備えています
 。
また、料金的にも1,000 件ごとに 0.10 USDと安価なので大量にメール配信するシステムにはメリットは大きいサービスです。

それでは実際に設定方法を見ていきましょう!
基本的にAWSマネージメントコンソール上での設定で完結します。 リージョンはバージニア北部、オレゴンアイルランドから選択することとなります。

  1. 送信受信するメールアドレスまたはドメインの登録
    メールアドレス登録

    f:id:gucchon90:20190731194414p:plain
    メールアドレス登録画面
    登録したメールアドレス宛にAWSからメールが配信され、そのメール本文に記載されているリンクを踏むと利用可能となります。

    ドメイン登録
    f:id:gucchon90:20190731194310p:plain
    ドメイン登録画面

    ドメインを使用する場合には、DNSレコードに対して、下図のようなTXTとCNAMEレコードを追加する必要があります。
    ドメインの取得元がRoute 53*3である場合、「Use Route 53」ボタンが表示され、押下するとRoute 53のレコードに自動で追加することができます。
    なので、ドメイン取得もAWSで合わせると作業が効率的なのでおすすめですね!
    f:id:gucchon90:20190731200037p:plain
    TXT,CNAMEレコード発行画面

    登録したメールアドレスまたはドメインによるテストメールを送り、正常にメール配信されるか確認することができます。
    f:id:gucchon90:20190731204207p:plain
    テストメール送信画面

  2. SMTPユーザー作成
    これだけでもメールを送ることができますが、システム利用するためにはもう少し設定が必要です。
    そこで SMTP *4インターフェイスとして利用するためにSMTPユーザー作成します。 作成すると、下図のようにSMTPユーザー名、SMTPパスワードを取得することができます。 その情報をSMTP 対応のプログラミング言語、E メールサーバー、またはアプリケーションに使用します。

    f:id:gucchon90:20190731205552p:plain
    SMTPユーザ情報発行画面

  3. サンドボックス解除申請
    現時点ではアカウントがサンドボックスに配置されています。
    この状態だと、、、
    ・登録したアドレス宛にしかメール送信不可
    ・送信数  1日200通

    ・最大送信レート 1秒1通
    といったように制限がかかっており正式利用するには難しいため、下図のようにAWSのサポートにサンドボックスから削除されるよう申請する必要があります。
    承認されると上記のような制限が緩和され、正式にシステム利用する形になります。 ※承認されるまで1営業日程度かかるため、お早めに申請することをおすすめします!

    f:id:gucchon90:20190731212212p:plain
    AWSサポート申請画面

基本的なSESの設定は以上となります。
別途バウンスメール やスパムメール対策を行う必要がありますが、 その辺りはAmazon SNS*5と連携する等、AWSでサービスで揃えてメンテナンスの簡略化やシステムの拡張性を持たせていくのも良いでしょう。 簡単かつ安価で品質も担保されているメール配信サービスなので、活用できる幅は大きいと思います。ぜひお気軽に利用してみてはいかがでしょうか。

*1:メール送信元のIPアドレスを基準に送信者を認証する方法

*2:電子署名を使って送信ドメインを認証する方法

*3:Amazon Web Serviceが提供しているDNSウェブサービス

*4:Simple Mail Transfer Protocolの略でメールを転送するためのプロトコル

*5:Simple Notification Serviceの略で様々なプロトコルによるメッセージングサービス