バナー画像

システムから複数のあて先に自動でメールを配信することはよくあります。たとえば、ユーザーがWeb上で注文を入力しシステムがそれを受け付けたとき、注文した品が発送されたとき。マーケティングにおける販促メールも自動メール送信のよい例ですよね。

開発フレームワークには、メールを送信するライブラリが多数存在しています。もちろんそれらを使ってもよいのですが、システムがAWS上で稼働しているなら、ぜひ導入を検討すべきサービスがあります。

それが、今回解説するAmazon SESです!

Amazon Simple Email Service (Amazon SES)とは

Amazon SESとは、メールを送信するサービスです。

Web開発フレームワークのメール送信用ライブラリなどを用いて発信するのと比較して、Amazon SESでのメール発信はどんなちがいがあるでしょうか?Amazon SESとは何ができるのか、順番に見ていきましょう。

送信用テンプレートを使った定型文

何らかのおススメ情報や販促メールなどでは、あて先名(つまりお客様名)くらいはタイトルまたは本文に入れたいですよね。本当に受信者全員に同じ文面を送信するとすれば、内容もおのずと最大公約数的な文面にならざるを得ません。

決まりきったキレイすぎる宣伝文句は、いかにも大量発信しました的な印象を与えかねません。

Amazon SESでは、メールのテンプレートを持つことができます。テンプレートには添付ファイルを付けることも可能です。例えば、テンプレートには受信者名などをタグで持たせて、送信時にはそこをデータで置き換えることが可能です。

豊富な認証方法

インターネットの各プロバイダは、メールを転送する際に送信者と実際のメール送信元が正しいかを、以下の認証技術で認証します。

Amazon SESはこれらのような業界標準の技術を網羅しており、メール送信者は認証に関する複雑な実装をしなくともよいのです。

送信後のユーザー動作をモニタリング可能

これがAmazon SESの一番大きなメリットではないでしょうか。Amazon SESは、メール送信後の以下の数値を取得可能です。

上記をAmazon S3のバケットや、Amazon Redshiftに保存できます。

Amazon SESは上記以外のAWSの各種サービスと連携が可能で、例えばAmazon SNSによるリアルタイム通知やAmazon Kinesis Analyticsを使用した分析が可能です。このあたりは、Amazon SESはさすがにAWSのサービスだけあってメリットが大きいですね。

スパムメールの発信にも使えるのですか?

残念ながら、それは無理です。

Amazon SESはメールを発信する前にフィルタリングを実施します。Amazon SESの配信性能、つまり送信したEメールが受信者に届く確率は、送信元のIPアドレスやドメインの評価に依存します。

そのアドレスやドメインに低品質のコンテンツを送信した履歴があると、評価が下がります。それを防ぐためにAmazon SESは送信前に独自にフィルタリングすることにより、プロバイダー間の信頼を一定に保ちます。つまり、グレーなものはAmazon SESが発信前に止めるのです。

話はちょっとズレますが、悪質メールのブラックリストを提供するサービス(AWS外)があるのをご存知でしょうか?

スパムメールの撲滅を目指す団体が、独自にブラックリストを作成・公開しています。ここに発信元のIPアドレスやドメインが登録されたら、さあ大変!除外依頼をしようにも、このような団体は基本的に海外が多く、身の潔白の証明とリストからの除外依頼もすべて英語で書かなくてはいけません。

こういったブラックリストを実際に使っているプロバイダーも多く、載せられてしまったらとても大変なことになります。

Amazon SESのメリット

前述の内容を、さらにAmazon SESに限定して見ていきます。

Amazon SES専用のSDK

Amazon SESは、送信時にSMTPまたはAPIからの送信が可能です。そのいずれも、専用のSDKをAWSの開発者用ページから取得可能です。SDKだけでなく、AWSコマンドラインインターフェース(Amazon CLI)も利用できます。

インフラ的事前準備は一切不要!

サーバーに特別なミドルウェアをインストールしたり、複雑な設定をしたり、といったインフラ的前準備は一切不要です!メール用デーモンを起動することすら不要です。特別な契約も不要です。

事前にIPアドレスやドメインの取得といった、Amazon SESを使う・使わないに関わらず、どのみち必要な手続きごと以外は何もすることはありません。しかも前払金なども必要なく、基本的には完全従量金制です。

受信も可能

Amazon SESは、送信だけでなく受信も可能です。受信後の挙動も、そのメールの送信者やIPアドレス、ドメインなどによるフィルタリングといったことが可能です。

受信したメールは、Amazon S3のバケットに保存、AWS Lambda関数を使用して任意のコードを実行、Amazon SNSへ通知を発信、といった自由度の高いコントロールが可能です。

Amazon SESが活躍するシーン

マーケティングのダイレクトメール

Amazon SESは、販促メールの発信に最適です。発信してメールの内容を周知することも大事ですが、マーケティングはその後が大事!先にあげた開封数やバウンス數などの各種の数値も、今後の活動方針立案へのインプットとなります。

Webサイトや社内サイト、それらとメールの配信や受信はインフラ的に見るとまったく別なので、メール配信に関する負荷がメール関連以外へ影響を及ぼすことがありません。ここも重要なポイントですね。

逆に、Amazon SESが向かないこと

同じようなサービスとして、Amazon SNSやAmazon SQSがあります。これらと比較したときのAmazon SESの特徴、特にAmazon SESに向いていないことは何かを考えてみましょう。

メッセージを発信するという意味では、Amazon SNSがあります。これと比較したときのAmazon SESの特徴は、メールの本文のテンプレート化やその後のリサーチが可能なことです。単に発信する(システム的なアラート通知など)だけなら、むしろAmazon SNSの方に軍配が上るでしょう。

では、Amazon SQSはどうでしょうか?

Amazon SQSの本分はメッセージのキューイングであり、プッシュ通知ではなく基本的に自分でメッセージを確認(ポーリング)しなければいけませんし、そもそもメールを発信するには一工夫が必要です。

よって、多彩なメールの内容や、その他のリサーチが必要な要件の場合、Amazon SESしかありません。

料金

1ヶ月あたりに送信された最初の62,000通のメールについては、なんと 0 USDドル!!

それを超えて送信されたメールについては、1,000 通あたり0.10 USDです。ただし、EC2以外にホストされているサーバーから発信したり、添付ファイルをつけたりすれば料金が変わります。ご注意ください。

メールの送信方法

では、実際にメールを発信してみましょう。AWSのマネジメントコンソールを開き、Amazon SESのサービスを開いてください。

発信元のEメールアドレスの検証

Amazon SESの以下をクリックしてください。

ここで「Verify a new email address」をクリックし、メールアドレスを入力します。

すると、確認を依頼する以下のメールが届きます。

本文には確認用の長いURLがあるので、それをクリックします。ここまでで送信元のEメールアドレスの検証が完了です。

テスト送信

では、テストメールを送信してみましょう。

先ほどの「Verify a new email address」の横にある「Send a test email」をクリックします。メールの内容を入力するウィンドウが開くので、入力します。

「Send test email」をクリックすると、テストメールが届きました!

実際には、これをソースコードにて実装することになります。なんとなくイメージがつかめたでしょうか?

このあと、申請が必要

この一連の流れは、あくまでsandboxというお試し環境での例です。実際に不特定多数の受信者へ配信できるようになるには、sandboxから抜け出る申請をしなくてはなりません。

まとめ

この記事では、Amazon SESについて解説しました。Amazon SESを活用して、ぜひ効率的なメール配信や分析を行って、マーケティングなどに役立ててみてくださいね!

エンジニアになりたい人に選ばれるプログラミングスクール「ポテパンキャンプ 」

ポテパンキャンプは卒業生の多くがWebエンジニアとして活躍している実践型プログラミングスクールです。 1000名以上が受講しており、その多くが上場企業、ベンチャー企業のWebエンジニアとして活躍しています。

基礎的な学習だけで満足せず、実際にプログラミングを覚えて実践で使えるレベルまで学習したいという方に人気です。 プログラミングを学習し実践で使うには様々な要素が必要です。

それがマルっと詰まっているポテパンキャンプでプログラミングを学習してみませんか?

卒業生の多くがWebエンジニアとして活躍

卒業生の多くがWeb企業で活躍しております。
実践的なカリキュラムをこなしているからこそ現場でも戦力となっております。
活躍する卒業生のインタビューもございますので是非御覧ください。

経験豊富なエンジニア陣が直接指導

実践的なカリキュラムと経験豊富なエンジニアが直接指導にあたります。
有名企業のエンジニアも多数在籍し品質高いWebアプリケーションを作れるようサポートします。

満足度高くコスパの高いプログラミングスクール「ポテパンキャンプ」

運営する株式会社ポテパンは10,000人以上のエンジニアのキャリアサポートを行ってきております。
そのノウハウを活かして実践的なカリキュラムを随時アップデートしております。

代表の宮崎もプログラミングを覚えサイトを作りポテパンを創業しました。
本気でプログラミングを身につけたいという方にコスパ良く受講していただきたいと思っておりますので、気になる方はぜひスクール詳細をのぞいてくださいませ。