Amazon Simple Email Service
開発者ガイド

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

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

  • Amazon SES API を直接呼び出す場合は、Query アクションによってエラーが返されます。エラーは、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 メールアドレスが検証されていません。以下のアイデンティティが、リージョン: identity1identity2identity3 で確認できませんでした。Amazon SES で検証されていない E メールアドレスまたはドメインから E メールを送信しようとしています。このエラーは、「From」、「Source」、「Sender」、または「Return-Path」のアドレスに該当する場合があります。アカウントが Amazon SES サンドボックスにまだある場合は、Amazon SES メールボックスシミュレーターから提供されているアドレスを除く、すべての受取人のアドレスも確認する必要があります。Amazon SES が失敗したアイデンティティをすべて表示できない場合は、エラーメッセージが省略符号で終了します。

    注記

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

  • Account is paused — アカウントによる E メール送信機能を一時停止します。Amazon SES コンソールには引き続きアクセスでき、ほとんどの操作を実行できます。ただし、E メールを送信しようとした場合、このメッセージが表示されます。

    アカウントの E メール送信機能を一時停止する場合、AWS アカウントに関連付けられている E メールアドレスに通知を送信します。詳細については、「Amazon SES 送信のレビュープロセスに関するよくある質問」を参照してください。

  • 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 ドメインの編集」を参照してください。

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