自動でメール配信をしたい!Amazon SESで効率的なメール配信をしよう!
  • facebookページ
  • twitterページ
  • 2018.11.08

    自動でメール配信をしたい!Amazon SESで効率的なメール配信をしよう!

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

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

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

    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専用の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を活用して、ぜひ効率的なメール配信や分析を行って、マーケティングなどに役立ててみてくださいね!


    ポテパンが提供するサービスについて

    本メディア「ポテパンスタイル」を運営する株式会社ポテパンは、エンジニアキャリア領域で複数サービスを提供しています。

    ポテパンフリーランス

    ポテパンフリーランス

    フリーランスエンジニアの方に高単価案件をご紹介しております。弊社ではフリーランス案件を常時300件ほど保有しており、その中からあなたに適した案件をご案内いたします。また、これから独立してフリーランスになる方の無料個別相談も承っております。フリーランスになった後の案件獲得方法やお金面(税金や保険など)についてお答えいたします!フリーエンジニアになりたい方向けのコンテンツも盛りだくさんです。

    ポテパンキャリア

    ポテパンキャリア

    エンジニア職専門の転職エージェントです。ポテパンキャリアでは、技術のわかるエージェントがあなたの転職をサポートします。エージェント自身がエンジニアなので、あなたと同じ目線で仕事内容や今後のキャリアについて一緒に考えることができます。年収800万円以上のハイスペック転職をご希望の方は「ポテパンプロフェッショナル」もご用意しておりますのでご利用下さいませ。

    ポテパンキャンプ

    ポテパンキャンプ

    ポテパンキャンプでは、RubyにてゼロからオリジナルのECサイトを作り上げてる3ヶ月間の実践型カリキュラムを提供しております。すでに本スクールの卒業生は、エンジニア職として様々な企業様に就職しております。なお、本スクールは受講料10万円と他社スクールに比べ格安となっており、またポテパンからご紹介させていただいた企業へ就職が決まった場合は、全額キャッシュバックいたします。



    株式会社ポテパンは、企業とエンジニアの最適なマッチングを追求しています。気になるサービスがあれば、ぜひ覗いてみてください!

    ポテクラバナー ポテプロバナー

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE