メニュー
Amazon Simple Email Service
開発者ガイド

Amazon SES の E メール送信エラー

このトピックでは、Amazon SES 経由で E メールを送信するときに発生する可能性がある E メール送信に固有のエラーのタイプについて説明します。Amazon SES 経由でメールを送信しようとしたときに Amazon SES の呼び出しに失敗すると、Amazon SES からアプリケーションにエラーメッセージが返され、E メールは送信されません。このエラーメッセージがどのように表示されるかは、Amazon SES を呼び出す方法によって異なります。

  • Amazon SES API を直接呼び出す場合は、クエリアクションによってエラーが返されます。エラーは、MessageRejected であるか、またはAmazon Simple Email Service API Referenceの「一般的なエラー」に指定されているいずれかのエラーの可能性があります。

  • 例外をサポートするプログラミング言語を使用する AWS SDK を使用して Amazon SES を呼び出した場合、Amazon SES は例外をスローします。例外のタイプは、SDK とエラーによって異なります。たとえば、Amazon SES の MessageRejectedException 例外 (実際の名前は SDK によって異なります) または一般的な AWS 例外がスローされます。例外のタイプにかかわらず、例外のエラータイプとエラーメッセージからより多くの情報が得られます。

  • SMTP インターフェイスを介して Amazon SES を呼び出した場合、エラーがどのように示されるかはアプリケーションによって異なります。特定のエラーメッセージを表示するアプリケーションもあれば、そのようなメッセージを表示しないアプリケーションもあります。SMTP 応答コードのリストについては、「Amazon SES から返される SMTP 応答コード」を参照してください。

注記

E メール送信のための Amazon SES 呼び出しが失敗した場合、対象の E メールについては課金されません。

E メールを送信しようとしたときに Amazon SES がエラーを返す原因となる、Amazon SES に固有の問題のタイプを次に示します。これらのエラーは、Amazon Simple Email Service API Referenceの「一般的なエラー」に指定されている MalformedQueryString などの一般的な AWS エラーとは別のエラーです。

  • E メールアドレスが検証されていません。以下のアイデンティティが、リージョン region: identity1, identity2, identity3 で確認できませんでした。– Amazon SES 検証していない E メールアドレスまたはドメインから E メールを送信しようとしています。このエラーは、「From」、「Source」、「Sender」、または「Return-Path」のアドレスに該当する場合があります。アカウントが Amazon SES サンドボックスにまだある場合は、Amazon SES のメールボックスシミュレーターから提供されているアドレスを除く、すべての受信者のアドレスも検証する必要があります。Amazon SES が失敗したアイデンティティをすべて表示できない場合は、エラーメッセージが省略符号で終了します。

    注記

    Amazon SES は複数の AWS リージョンにエンドポイントがあり、E メールアドレスの検証ステータスは AWS リージョンごとに異なります。使用する AWS リージョンの各送信者について、検証プロセスを完了する必要があります。

  • Customer is suspended – AWS アカウントにおいて、Amazon SES を使用した E メール送信が禁止されています。この場合でも、Amazon SES コンソールにアクセスして、E メールの送信以外の任意のアクティビティを実行できます (たとえば、送信および評判メトリクスは引き続き表示できます)。メールを送信しようとすると、このエラーメッセージを受け取ります。

    この場合は、AWS アカウントに関連付けられた E メールアドレスに、Amazon SES からの問題を知らせる E メールを受け取っているはずです。停止措置に抗議してメール送信権限の回復を要求するには、E メールに記載されている手順に従います。同じ問題が再び発生しないようにするには、停止措置自体が誤りであることを示す理由、またはそれまでに加えた変更を詳しく説明する必要があります。

  • Throttling – Amazon SES によって、メッセージを送信できるレートが制限されています。アプリケーションが大量の E メールを送信しようとしているか、所定のレートを超えて E メールを送信しようとしています。このような場合は、次のようなエラーが返されます。

    • Daily message quota exceeded – 24 時間の期間に送信することが許可されたメッセージの最大数に達しました。日次クォータを超過した場合、次の 24 時間の期間にならないとそれ以上 E メールを送信できません。

    • Maximum sending rate exceeded – 送信を試みた 1 秒あたりの E メールの件数が、許可された最大送信レートを超えました。送信レートを超過した場合、E メールの送信を継続できますが、送信レートを引き下げる必要があります。詳細については、AWS メッセージングおよびターゲティングブログ の「"Throttling – Maximum sending rate exceeded (スロットリング – 最大送信レートの超過)" エラーの対処法」を参照してください。

    送信アクティビティを定期的に監視して、送信制限にどれだけ近づいているかを確認する必要があります。詳細については、「Amazon SES の送信制限のモニタリング」を参照してください。送信制限に関する一般的な情報については、「Amazon SES の送信制限の管理」を参照してください。送信制限を引き上げる方法については、「Amazon SES の送信制限の引き上げ」を参照してください。

    重要

    スロットリングエラーを説明するエラーテキストが日次クォータまたは最大送信レートの超過に関係ない場合は、システム全体の問題が原因で送信機能が制限されている可能性があります。サービスステータスについては、「AWS サービス状態ダッシュボード」を参照してください。

  • There are no recipients specified – 受取人が指定されていません。

  • There are non-ASCII characters in the email address – E メールアドレス文字列は 7 ビット ASCII である必要があります。送信先または送信元の E メールアドレス内で、ドメインの部分に Unicode 文字が含まれる場合は、Punycode を使用してドメインをエンコードする必要があります。Punycode は E メールアドレスのローカル部分 (@ 記号の前の部分) では許可されていません。また、「差出人」名にも許可されていません。「差出人」名に Unicode 文字を使用する場合は、Amazon SES API を使用して raw E メールを送信する に説明されているとおりに MIME encoded-word 構文を使用して「差出人」名をエンコードする必要があります。Punycode の詳細については、RFC 3492 を参照してください。

  • Mail FROM domain is not verified – Amazon SES は、指定された MAIL FROM ドメインを使用するために必要な MX レコードを読み取ることができませんでした。アイデンティティに関してカスタムの MAIL FROM ドメイン設定を編集する方法については、「Amazon SES での MAIL FROM ドメインの編集」を参照してください。

  • 設定セットが存在しない – 指定した設定セットが存在しません。設定セットは、メール送信イベントの発行に使用するオプションのパラメーターです。詳細については、「Amazon SES イベント発行を使用したモニタリング」を参照してください。