« 【AWS発表】 AWS Elastic Beanstalkの発表 | メイン | 【AWS発表】 Amazon CloudWatchをAWS Management Consoleがサポート »

【AWS発表】 Amazon Simple Email Serviceの発表

Eメールを送るということは単純に思えるのですが、想像以上に難しいものです。単純に1日あたり数十のEメールを送ることが必要であったときに十分であったソリューションは、数百、数千、数百万を一気に送り出すことが必要な際には全くいっていいほど機能しません。

Eメールのプロフェッショナルが使う指標に、Deliverability(配達到達品質)という指標があります。これは、Eメールを送った際に実際にどれくらい受取先に届けることができたかという指標です。Deliverabilityを最大化するには、複数のInternet Service Providers (ISPs)とこちら側のコンテンツを信頼してもらえるように協業する必要があり、沢山のエラーメールやバウンスメールを監視しコントロールする必要があります。内部のハードウェアに時間とお金を費やし、サードパーティベンダーと高い契約を取り交わし、SMTPのインとアウトについて学習し、Deliverabilityに関連する全ての要素に精通する必要があります。すべてを終えた頃には、なぜそもそもEメールを送りたかったのかすら分からなくなっているかもしれません。

今回発表した、新しいAmazon Simple Email Service (SES) は、Eメールを最小限の労力で最大限の拡張性を持たせてセットアップするのを容易にするサービスです。SESは、マーケティングのために大量のメールを一気に送信するような、大規模なEメール・ソリューションの構築に最適です。Amazon SESは、年間10億通のメールを送るAmazonのサイトで使われているスケーラブルなテクノロジーをベースにしているのです。


最適な送信レベルを得るために、どのホストをどう設定するかといった非常に大変なインフラレベルの仕事を気にすることなく、Eメールを送ることができるようになります。Amazon SESは、様々なメトリクスを提供するので、Deliverabilityを最大化するためのEメール戦略を調整するのに必要なフィードバックを得ることができます。

SESを使うために最初に登録して頂くと、まずは、SESの試験環境(サンドボックス)にアクセスできるようになります。そこでは、認証したアドレスに対してのみEメールを送ることができる制限が加えられています。この認証プロセスについてですが、まず確認Eメールを認証したいアドレスに送ります。受領者は、Eメールに埋め込まれたリンクをクリックします。また、メッセージを送るのに使われるEメールアドレスも認証する必要があります。こうして、認証済みのアドレスを使えるようになり、1日あたり200メッセージを送信でき、1秒あたり1メッセージのスピードで送信できます。試験環境には、この制限がありますが、アプリケーションを開発したりテストするには十分でしょう。この認証プロセスは、十分なコントロールがなされた環境下で、アプリケーションを開発&テストする目的で作られています。これにより、高い品質のEメールの送り主としての評判を維持する役割を果たすと考えています。

一旦、アプリケーションが立ち上がり稼働すると、次のステップはSES Production Access Request Formを用いて、本番環境(Production)のリクエストをすることです。AWSはそのリクエストをレビューし、通常24時間以内に申請者にコンタクトします。本番環境へのアクセスが許可されると、もはや配達先アドレスを認証する必要はありません。どのアドレスにもメールを送れるようになります。SESは送信したメール数、リジェクト数、バウンス数、クレーム(complaint)数などの要素を鑑みて、一日に送れる制限や最大送信レートを増やしていきます。SESをマナー良く使っているかどうかの証拠が溜まるにつれて、AWSがその制限数を増やしていきます。試験環境、本番環境、段階的に制限を緩和してやり方、これらの組み合わせによって、SESを使用する全てのお客様が高いDeliverabilityを達成できるようにします。こういったやり方は、Amazon.comを含め、沢山のメールを送るベンダーがその送信チャネルを洗練させていく際に行うやり方と全く同じなのです。

新しく認証された本番環境のアカウントでは、24時間毎に1千メールまで送れます。SESチームによると、(今後はその数字自体は変わっていくかも知れないものの)現時点では、マナーを守って使って頂くと、この制限が3日間で1万メール/日まで伸び、数週間のちには百万メール/日まで伸びます。同様に、最大送信レートは1メール/秒から、3日間で10メール/秒、数週間で90メール/秒まで伸びます。これらの伸びは使用量に依存しており、その時点でのリミットに達したときに自動的に拡張されます。百万メール/日以上、 90メール/秒以上の送信が必要な場合はAWSにコンタクト頂ければ、できるだけ対応できるように努力致します。

このSESはEメールの現状データを提供するので、現状を理解したうえで、送信戦略を必要に応じて変更することができるでしょう。SESは、Eメール受信者からのクレームしという形式でISPsからのフィードバックも提供します。

SESを使用する際に、SES APIをコマンドラインから使用できます。また、現状のMail Transfer Agentを設定することで、SESを通してメールをルーティングすることも可能です。その際はSESディベロッパーガイド(英語)を参照ください。

SESのAPIは非常に単純です。

  • VerifyEmailAddressListVerifiedEmailAddressesDeleteVerifiedEmailAddress を使用して、アカウントに紐付いた認証済みメールアドレスのリストを管理できます。
  • SendEmailを用いて、適切にフォーマットされたEメール(From、To、Subject、メッセージ本体が必要)を送信でき、SendRawEmailを用いて、追加ヘッダーやMIMEデータを持ったより洗練されたEメールを手作業で構成し送信できます。
  • GetSendQuota、GetSendStatisticsを用いて、送信制限や統計情報(送信トライ、リジェクト、バウンス、クレーム)を取得することができます

SES API リファレンスを見ると、よりAPIについての情報を知ることができます。

SESは非常に簡単に使って頂けると思いますので、皆様の貴重な時間を無駄にすることなくアプリケーション開発の手間を削減できるに違いありません。SESについてのご感想はいつも通りブログのコメント欄に是非お寄せ下さい。

ところで、もしSESを使う予定でしたら、Litmusにも興味があるかもしれません。AWS上で構築されたメールプレビューツールになりますが、こちらを使うと、送信メールが34の異なるメールクライアントやデバイス上で(Lotus Notesの4バージョン、Microsoft Outlookの5バージョンを含む)、メールがどのように表示されるかを見ることができます。LitmusはAmazon EC2の上で稼働しており、Amazon S3上でその表示イメージを保存しています。詳細はこちらのLitmusケーススタディ(英語)をご覧ください。

(追記 2011/01/31)
Getting Started Guide(英語)が、SESを試してみるのにあたり必要な情報が書かれています。
また、メールを日本語で送るには、下記のブログが参考になります。
Amazon SES(Simple Email Service)で日本語メールを出す – log4moto

玉川憲
Twitter: @KenTamagawa

コメント

Featured Event

2016年3 月

    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31