Amazon SES E メール送信プロセス - Amazon Simple Email Service

Amazon SES E メール送信プロセス

このトピックでは、Amazon SES でメールを送信したときに行われる処理と、E メール送信後に想定されるさまざまな結果について説明します。次の図は、送信プロセスの概要を示しています。

  1. クライアントアプリケーションは E メール送信者として動作し、1 人以上の受取人に E メールを送信するように Amazon SES にリクエストします。

  2. リクエストが有効な場合、Amazon SES は E メールを受け入れます。

  3. Amazon SES により、受取人の受信者宛てにインターネット経由でメッセージが送信されます。メッセージは Amazon SES に渡されると、通常は数ミリ秒内に発生する最初の配信の試行ですぐに送信されるのが一般的です。

  4. この時点で、さまざまな可能性があります。例:

    1. ISP が、受取人の受信箱にメッセージを正常に配信します。

    2. 受取人の E メールアドレスが存在しないため、ISP が Amazon SES にバウンス通知を送信します。Amazon SES は、その通知を送信者に転送します。

    3. 受取人がメッセージを受信したものの、そのメッセージをスパムと見なして、ISP に苦情を登録します。その ISP に対して Amazon SES でフィードバックループがセットアップされている場合は、苦情が Amazon SES に送信され、そこから送信者に転送されます。

以下のセクションでは、送信者が E メールリクエストを Amazon SES に送信した後、または Amazon SES が E メールメッセージを受取人に送信した後に想定される結果について個々に説明します。

送信者が Amazon SES に E メールリクエストを送信した後

送信者が Amazon SES に E メール送信のリクエストを送ると、呼び出しが成功または失敗します。以下のセクションでは、それぞれのケースで発生する状況を説明します。

リクエスト送信の成功

Amazon SES へのリクエストが成功すると、Amazon SES は成功のレスポンスを送信者に返します。このメッセージには、リクエストを一意に識別する文字列であるメッセージ ID が含まれます。メッセージ ID を使用すると、送信した E メールの識別や、送信中に発生した問題の追跡を行うことができます。Amazon SES では、リクエストパラメータに基づいて E メールメッセージをアセンブルし、メッセージをスキャンして疑わしいコンテンツやウイルス感染を調べます。その後に、SMTP (Simple Mail Transfer Protocol) を使用してインターネット経由でメッセージを送信します。通常、メッセージは即座に送信されます。一般的に最初の配信の試行は数ミリ秒以内に発生します。

注記

Amazon SES が送信者のリクエストを受け入れ、そのメッセージにウイルスが含まれていると判断した場合、Amazon SES はメッセージの処理を停止し、そのメッセージを受取人のメールサーバーに配信しようとしません。

リクエスト送信の失敗

送信者が Amazon SES に送った E メール送信リクエストが失敗した場合、Amazon SES ではエラーを含むレスポンスを送信者に返して E メールを削除します。リクエストの失敗にはいくつかの理由が考えられます。リクエストが適切にフォーマットされていない場合や、E メールアドレスが送信者によって検証されていない場合などがあります。

リクエストが失敗したかどうかを判断する方法は、Amazon SES を呼び出す方法によって異なります。次の例は、エラーと例外がどのように返されるかを示しています。

  • Query(HTTPS)API(SendEmail または SendRawEmail)で Amazon SES を呼び出している場合、そのアクションでエラーが返されます。詳細については、『Amazon Simple Email Service API Reference』を参照してください。

  • 例外を使用するプログラミング言語の AWS SDK を使用する場合は、Amazon SES の呼び出しによって MessageRejectedException がスローされます(SDK によってはこの例外の名前が多少異なる場合があります)。

  • SMTP インターフェイスを使用する場合、送信者は SMTP レスポンスコードを受け取りますが、エラーがどのように示されるかは送信者のクライアントによって異なります。一部のクライアントではエラーコードが表示されますが、表示されないクライアントもあります。

Amazon SES で E メールを送信するときに発生する可能性があるエラーについては、「Amazon SES の E メール送信エラー」を参照してください。

Amazon SES が E メールを送信した後

送信者が Amazon SES に送ったリクエストが成功し、Amazon SES が E メールを送信すると、次の結果のいずれかが発生します。

  • 配信が成功し、受取人が E メールを拒否しない場合 — E メールは ISP により受け入れられ、ISP が E メールを受取人に配信します。次の図は、正常な配信を示しています。

  • ハードバウンス — 永続的な状態が原因でメールが ISP から拒否されるか、E メールアドレスが Amazon SES サプレッションリストに含まれているためメールが Amazon SES に拒否されます。Amazon SES のいずれかの顧客で最近ハードバウンスの原因となった E メールアドレスは、Amazon SES のサプレッションリストに含まれます。ISP のハードバウンスは、受取人のアドレスが無効であるために発生する場合があります。ハードバウンスが発生すると ISP から Amazon SES に通知が送信され、さらに送信者に (送信者のセットアップに応じて) E メールまたは Amazon Simple Notification Service (Amazon SNS) で通知されます。Amazon SES は、同じ方法でサプレッションリストのバウンスを送信者に通知します。次の図は、ISP からのハードバウンスのパスを示しています。

  • ソフトバウンス — ISP がリクエストを処理できないほどビジーであったり、受取人の E メールボックスがいっぱいであったりと、一時的な状態のため、ISP が受取人に E メールを配信できません。ドメインが存在しない場合も、ソフトバウンスが発生することがあります。ISP は Amazon SES にソフトバウンス通知を返します。ドメインが存在しない場合、Amazon SES はドメインの E メールサーバーを見つけることができません。いずれの場合でも、Amazon SES は一定期間にわたって E メールの配信を再試行します。その期間内に E メールを配信できない場合、Amazon SES は E メールまたは Amazon SNS を通じてバウンス通知を送信者に送信します。再試行中に Amazon SES が E メールを受信者に配信できた場合、配信は成功です。次の図は、ソフトバウンスを示しています。このケースでは、Amazon SES は E メールの送信を再試行し、ISP は最終的に E メールを受取人に配信しています。

  • 苦情 — E メールは ISP に受け入れられて受取人に配信されますが、受取人がその E メールをスパムと見なし、E メールクライアントの「スパムとしてマークする」などのボタンをクリックします。Amazon SES がその ISP に対してフィードバックループをセットアップしている場合は、苦情の通知が Amazon SES に送信され、そこから送信者に転送されます。ほとんどの ISP は苦情を申告した受取人の E メールアドレスを提供しないため、Amazon SES からの苦情通知で送信者に渡される受取人のリストは、Amazon SES が苦情を受け取った ISP や元のメッセージの受取人に基づいて推定された、苦情を申告した可能性のある受取人が記載されています。次の図は、苦情のパスを示しています。

  • 自動応答 — E メールが ISP に受け入れられ、受取人に配信されます。ISP は、不在 (OOTO) メッセージなどの自動応答を Amazon SES に送信します。Amazon SES は、自動応答通知を送信者に転送します。次の図は、自動応答を示しています。

    Amazon SES に対応するプログラムで、自動レスポンスが生成されるメッセージの送信を再試行しないようにしてください。

    ヒント

    Amazon SES メールボックスシミュレーターを使用して、正常な配信、バウンス、苦情、OOTO をテストしたり、アドレスがサプレッションリストに含まれている場合にどうなるかをテストしたりできます。詳細については、「Amazon SES での E メール送信のテスト」を参照してください。