Amazon SES における E メール送信の仕組み - Amazon Simple Email Service

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon SES における E メール送信の仕組み

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

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

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

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

  4. この時点で、さまざまな可能性があります。以下に例を示します。

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

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

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

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

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

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

リクエスト送信の成功

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

注記

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

リクエスト送信の失敗

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

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

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

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

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

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

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

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

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

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

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

  • 苦情 – E メールは ISP に受け入れられて受信者に配信されますが、受信者がそのメールを迷惑メールと見なし、E メールクライアントの [迷惑メールとしてマーク] などのボタンをクリックします。SES がその ISP に対してフィードバックループをセットアップしている場合は、苦情の通知が SES に送信され、そこから送信者に転送されます。ほとんどの ISP は苦情を申告した受信者の E メールアドレスを提供しません。したがって、SES から送信者に渡される苦情通知で示されるのは苦情を申告した可能性がある受信者のリストであり、元のメッセージの受信者全員と ISP から SES に渡された苦情の情報から推定されたものです。次の図は、苦情のパスを示しています。

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

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

    ヒント

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