自動メール配信は従来より利用されているサービスですが、AWS上でシステムを稼働させているならぜひ導入したいサービス「Amazon SES」の存在は欠かせません。
本記事では、AWS上でメール配信サービスが利用出来る「Amazon SES」の基本情報から実際の使い方についてご紹介していきます。
- Amazon SESはAWSのメール送信サービス
- 送信後のモニタリングも可能
- インフラの事前準備が不要
- マーケティングメールでの利用に超おすすめ
- 最初の62,000通までは無料
目次
Amazon Simple Email Service (Amazon SES)とは
Amazon SESとは、メールを送信するサービスです。
Web開発フレームワークのメール送信用ライブラリなどを用いて発信するのと比較して、Amazon SESでのメール発信はどんなちがいがあるでしょうか?Amazon SESとは何ができるのか、順番に見ていきましょう。
送信用テンプレートを使った定型文
何らかのおススメ情報や販促メールなどでは、あて先名(つまりお客様名)くらいはタイトルまたは本文に入れたいですよね。本当に受信者全員に同じ文面を送信するとすれば、内容もおのずと最大公約数的な文面にならざるを得ません。
決まりきったキレイすぎる宣伝文句は、いかにも大量発信しました的な印象を与えかねません。
Amazon SESでは、メールのテンプレートを持つことができます。テンプレートには添付ファイルを付けることも可能です。例えば、テンプレートには受信者名などをタグで持たせて、送信時にはそこをデータで置き換えることが可能です。
豊富な認証方法
インターネットの各プロバイダは、メールを転送する際に送信者と実際のメール送信元が正しいかを、以下の認証技術で認証します。
- DomainKeys Identified Mail (DKIM)
- Sender Policy Framework (SPF)
- Domain-based Message Authentication
- Reporting and Conformance (DMARC)
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に限定して見ていきます。
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が活躍するシーン
マーケティングのダイレクトメール
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しかありません。
「AWSの活躍シーンをもっと詳しく知りたい」といった方は、「ポテパンキャンプ」での無料カウンセリングがおすすめです。
料金
1ヶ月あたりに送信された最初の62,000通のメールについては、なんと 0 USDドル!!
それを超えて送信されたメールについては、1,000 通あたり0.10 USDです。ただし、EC2以外にホストされているサーバーから発信したり、添付ファイルをつけたりすれば料金が変わります。ご注意ください。
Amazon SESをより活用するためのプログラミングスキルが学べるスクールならこちら
メールの送信方法
では、実際にメールを発信してみましょう。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から抜け出る申請をしなくてはなりません。
AWSのサービスは利用してみたいけど、「プログラミングの知識もないしよく分からない」といった方は、「ポテパンキャンプ」での無料カウンセリングがおすすめです。
まとめ
マーケティング業務においてメール配信やその後の分析は欠かせない業務であり、近年AWS上で動いているシステムも増えているため「Amazon SES」の利用もぜひ検討したいサービスです。
手軽に低コストで便利な機能が利用出来るので、これまで触ったことのなかった方も一度お試しください。