Amazon SES SMTP に関する問題 - Amazon Simple Email Service

Amazon SES SMTP に関する問題

このセクションでは、SMTP (Amazon SES 簡易メール転送プロトコル) インターフェイスを使用した E メールの送信に関連するいくつかの一般的な問題の解決策について説明します。また、Amazon SES から返される SMTP 応答コードも一覧表示します。

Amazon SES SMTP インターフェイス経由の E メール送信の詳細については、「Amazon SES SMTP インターフェイスを使用した E メールの送信」を参照してください。

  • Amazon SES SMTP エンドポイントに接続できない。

    Amazon SES SMTP エンドポイントへの接続の問題は、ほとんどの場合以下の問題が関係しています。

    • 認証情報の誤り – SMTP エンドポイントへの接続に使用する認証情報が AWS 認証情報と異なっています。SMTP 認証情報を取得する方法については、「Amazon SES SMTP 認証情報の取得」を参照してください。認証情報の詳細については、「Amazon SES での認証情報の使用」を参照してください。

    • ネットワークまたはファイアウォールの問題 – ネットワークにより、E メールを送信しようとしているポートでのアウトバウンド接続がブロックされている可能性があります。ローカルネットワークが原因で接続の問題が発生しているかどうかを確認するには、コマンドラインに次のコマンドを入力します。port は、使用するポート (通常は 465、587、2465 または 2587) に置き換えてください。telnet email-smtp.us-west-2.amazonaws.com port

      このコマンドを使用して SMTP サーバーに接続でき、さらに TLS ラッパーまたは STARTTLS を使用して Amazon SES に接続しようとしている場合は、コマンドラインを使用して Amazon SES SMTP インターフェイスへの接続をテストする に示されている手順を実行してください。

      telnet または openssl を使用して Amazon SES SMTP エンドポイントに接続できない場合は、ネットワークのどこか (ファイアウォールなど) で、使用しようとしているポートでのアウトバウンド接続がブロックされているということです。ネットワーク管理者と協力して、問題を診断および解決してください。

  • ポート 25 を使用して Amazon EC2 インスタンスから Amazon SES に送信しているときに、タイムアウトエラーを受信する。

    Amazon EC2 はデフォルトでポート 25 を制限します。これらの制限を削除する方法については、Amazon EC2 E メール送信制限解除申請 を送信します。制限されないポート 465 または 587 を使用して Amazon SES に接続することもできます。

  • ネットワークエラーが原因で E メールのドロップが発生している。

    アプリケーションが Amazon SES SMTP エンドポイントに接続するときに再試行ロジックを使用していること、およびアプリケーションがネットワークエラーを検出しメッセージ配信を再試行できることを確認します。SMTP は冗長プロトコルで、このプロトコルを使用して E メールを送信する場合は複数のネットワークラウンドトリップが必要になります。SMTP の性質上、ネットワークエラーの可能性は高くなります。

  • SMTP エンドポイントとの接続が失われる.

    ほとんどの場合、接続の切断は以下の問題によって発生します。

    • MTU サイズ – タイムアウトエラーメッセージが表示された場合、Amazon SES SMTP インターフェイスとの接続に使用しているコンピュータのネットワークインターフェイスの最大送信単位 (MTU) が大きすぎる可能性があります。この問題を解決するには、そのコンピュータの MTU サイズを 1500 バイトに設定します。

      Windows、Linux、macOS オペレーティングシステムに対する MTU サイズの設定の詳細については、Amazon Redshift Cluster Management Guideの「クライアントでクエリがハングしたようになり、クラスターに到達しない」を参照してください。

      Amazon EC2 インスタンスの MTU サイズの設定の詳細については、Linux インスタンス用 Amazon EC2 ユーザーガイド の「EC2 インスタンスの最大ネットワーク送信単位 (MTU)」を参照してください。

    • 存続時間の長い接続 – Amazon SES SMTP エンドポイントは、Elastic Load Balancer (ELB) の背後の複数の Amazon EC2 インスタンス上で実行されます。システムの最新の状態と障害耐性を維持するために、アクティブな Amazon EC2 インスタンスは定期的に終了され、新しいインスタンスと置き換えられます。アプリケーションは ELB を介して Amazon EC2 インスタンスに接続するため、 Amazon EC2 インスタンスが終了すると接続が無効になります。単一の SMTP 接続を使用して所定の数のメッセージを配信した後、または SMTP 接続がある程度の時間にわたってアクティブであった場合は、新しい SMTP 接続を確立する必要があります。アプリケーションがホストされている場所やアプリケーションがどのように E メールを Amazon SES に送信するかに応じて、いろいろな値を試しながら適切なしきい値を見つける必要があります。

  • 本稼働環境のネットワークのホワイトリストに登録できるように、Amazon SES の SMTP メールサーバーの IP アドレスを知りたい。

    Amazon SES SMTP エンドポイントの IP アドレスは、ロードバランサーの背後に存在します。その結果、これらの IP アドレスは頻繁に変更されます。Amazon SES エンドポイントのすべての IP アドレスの明確なリストを提供することはできません。個々の IP アドレスをホワイトリストに登録するのではなく、amazonses.com ドメインをホワイトリストに登録することをお勧めします。

Amazon SES から返される SMTP 応答コード

このセクションでは、Amazon SES SMTP インターフェイスから返される応答コードを一覧表示します。

400 エラーを受け取った SMTP リクエストは、再試行する必要があります。待機時間を少しずつ増やしながらリクエストを再試行するシステムを実装することをお勧めします (たとえば、待機時間を 5 秒、10 秒、30 秒と増やしながら再試行します)。​3 回目の再試行が失敗した場合は、20 分待ってからプロセスを繰り返してください。​段階的な再試行ポリシーを使用する実装例については、AWS メッセージングおよびターゲティングブログ ブログの「"Throttling – Maximum sending rate exceeded (スロットリング – 最大送信レートの超過)" エラーの対処法」を参照してください。

注記

AWS SDK は、再試行ロジックを自動的に実装しますが、SMTP の代わりに HTTPS インターフェイスを使用します。

​500 エラーが発生した場合は、もう一度リクエストを送信する前に、リクエストを修正して問題を修正する必要があります。たとえば、AWS 認証情報が無効な場合は、要求を再度送信する前に正しい認証情報を使用するようにアプリケーションを更新する必要があります。

説明 Response Code (レスポンスコード) 詳細情報

認証に成功

235 Authentication successful

SMTP クライアントは SMTP サーバーに正常に接続してサインインしました。​

正常に配信

250 Ok MessageID

メッセージ ID は、Amazon SES がメッセージを一意に識別するために使用する文字列です。

Service unavailable

421 Too many concurrent SMTP connections

SMTP サーバーへの接続が現在多すぎるため、Amazon SES はリクエストを処理できません。​

ローカル処理エラー

451 Temporary service failure

Amazon SES はリクエストを処理できませんでした。リクエストを処理できないという問題がある可能性があります。​

Timeout

451 Timeout waiting for data from client

リクエストの間の経過時間が長すぎるため、SMTP サーバーが接続を閉じました。

日次送信クォータの超過

454 Throttling failure: Daily message quota exceeded

24 時間の期間に送信することが Amazon SES によって許可されたメッセージの最大数を超えました。詳細については、「Amazon SES 送信クォータの管理」を参照してください。

最大送信レートの超過

454 Throttling failure: Maximum sending rate exceeded

Amazon SES によって許可された、1 秒あたりに送信できる E メールの最大数を超えました。詳細については、「Amazon SES 送信クォータの管理」を参照してください。

SMTP 認証情報を検証するときの Amazon SES の問題

454 Temporary authentication failure

この問題の原因となる可能性のある問題には、以下が含まれます (ただし、これらに限定されません)。​

  • E メール送信アプリケーションと Amazon SES の間で暗号化に関する問題が発生しています。Amazon SES に接続するときは暗号化された接続を使用する必要があることに注意してください。詳細については、「Amazon SES SMTP エンドポイントへの接続」を参照してください。

  • Amazon SES に問題が発生している可能性があります。AWS サービス状態ダッシュボード で最新情報を確認してください。

リクエストの受信に関する問題

454 Temporary service failure

Amazon SES はリクエストを受信できませんでした。​その結果、メッセージは送信されませんでした。

認証情報の誤り

530 Authentication required

E メールの送信に使用するアプリケーションは、Amazon SES SMTP インターフェイスに接続したときに認証を試みませんでした。

無効な認証情報

535 Authentication Credentials Invalid

E メールを送信するのに使用するアプリケーションは Amazon SES に正しい SMTP 認証情報を提供しませんでした。SMTP 認証情報は AWS 認証情報と同じではありません。詳細については、「Amazon SES SMTP 認証情報の取得」を参照してください。

Amazon SES に登録されていないアカウント

535 Account not subscribed to SES

SMTP 認証情報を所有する AWS アカウントは、Amazon SES にサインアップされていません。

メッセージが長すぎます

552 Message is too long.

送信しようとしているメッセージのサイズが 10 MB を超えています。

Amazon SES に登録されていないアカウント

535 Account not subscribed to SES

SMTP 認証情報を所有する AWS アカウントは、Amazon SES にサインアップされていません。

Amazon SES SMTP エンドポイントを呼び出す許可が与えられていないユーザー

554 Access denied: User UserARN is not authorized to perform ses:SendRawEmail on resource IdentityARN

SMTP 認証情報を所有するユーザーの AWS Identity and Access Management (IAM) ポリシーまたは Amazon SES 送信承認ポリシーでは、Amazon SES SMTP エンドポイントを呼び出すことが許可されません。

未確認の E メールアドレス

554 Message rejected: Email address is not verified. The following identities failed the check in region region: identity0, identity1, identity2

Amazon SES アカウントからのメール送信が確認されていないメールアドレスまたはドメインからメールを送信しようとしています。​このエラーは、「From」、「Source」、「Sender」、または「Return-Path」のアドレスに該当する場合があります。アカウントがサンドボックスにまだある場合は、Amazon SES メールボックスシミュレーターから提供されているアドレスを除く、すべての受取人のアドレスも確認する必要があります。Amazon SES が検証チェックに失敗したすべての ID を表示できない場合、エラーメッセージは 3 つのピリオド (...) で終わります。

注記

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