

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

# Amazon SES SMTP の問題
<a name="troubleshoot-smtp"></a>

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

Amazon SES SMTP インターフェイス経由の E メール送信の詳細については、「[Amazon SES SMTP インターフェイスを使用して E メールを送信](send-email-smtp.md)」を参照してください。
+ **Amazon SES SMTP エンドポイントに接続できない。**

  Amazon SES SMTP エンドポイントへの接続の問題は、ほとんどの場合以下の問題が関係しています。
  + **認証情報が正しくない** – SMTP エンドポイントへの接続に使用する AWS 認証情報は、認証情報とは異なります。SMTP 認証情報を取得する方法については、「[Amazon SES SMTP 認証情報を取得](smtp-credentials.md)」を参照してください。認証情報の詳細については、「[Amazon SES 認証情報の種類](send-email-concepts-credentials.md)」を参照してください。
  + **ネットワークまたはファイアウォールの問題** - ネットワークにより、E メールを送信しようとしているポートでのアウトバウンド接続がブロックされている可能性があります。ローカルネットワークが原因で接続の問題が発生しているかどうかを確認するには、コマンドラインに次のコマンドを入力します。`port` は、使用するポート (通常は 465、587、2465 または 2587) に置き換えてください。`telnet email-smtp.us-west-2.amazonaws.com port`

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

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

  Amazon EC2 はデフォルトでポート 25 を制限します。これらの制限を削除するためには、[E メール送信制限解除申請](https://aws-portal.amazon.com/gp/aws/html-forms-controller/contactus/ec2-email-limit-rdns-request)に Amazon EC2 リクエストを送信します。制限されないポート 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 管理ガイドの「*クライアントでクエリがハングして、クラスターに到達しない場合がある*」を参照してください。

    Amazon EC2 の MTU サイズ設定の詳細については、「Amazon EC2 ユーザーガイド」の「[EC2 インスタンスのネットワークの最大送信単位 (MTU)](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/network_mtu.html)」を参照してください。**
  + **存続時間の長い接続** - Amazon SES SMTP エンドポイントは、Elastic Load Balancer (ELB) の背後の複数の Amazon EC2 インスタンスのフリートで実行されます。システムの最新の状態と耐障害性を維持するために、アクティブな Amazon EC2 インスタンスは定期的に終了され、新しいインスタンスと置き換えられます。アプリケーションは ELB を介して Amazon EC2 インスタンスに接続するため、 Amazon EC2 インスタンスが終了すると接続が無効になります。単一の SMTP 接続を使用して所定の数のメッセージを配信した後、または SMTP 接続がある程度の時間にわたってアクティブであった場合は、新しい SMTP 接続を確立する必要があります。アプリケーションがホストされている場所やアプリケーションがどのように E メールを Amazon SES に送信するかに応じて、いろいろな値を試しながら適切なしきい値を見つける必要があります。
+ **ネットワークで IP アドレスを許可リストに登録できるように、Amazon SES の SMTP メールサーバーの IP アドレスを知りたい。**

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

## Amazon SES から返される SMTP 応答コード
<a name="troubleshoot-smtp-response-codes"></a>

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

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

**注記**  
AWS SDKs再試行ロジック[を自動的に](https://docs.aws.amazon.com/general/latest/gr/api-retries.html)実装しますが、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 はリクエストを処理できませんでした。リクエストを処理できないという問題がある可能性があります。​ | 
| タイムアウト | `451 Timeout waiting for data from client` | リクエストの間の経過時間が長すぎるため、SMTP サーバーが接続を閉じました。 | 
| 日次送信クォータの超過 | `454 Throttling failure: Daily message quota exceeded` | 24 時間の期間に送信することが Amazon SES によって許可されたメッセージの最大数を超えました。詳細については、「[Amazon SES 送信制限の管理](manage-sending-quotas.md)」を参照してください。 | 
| 最大送信レートの超過 | `454 Throttling failure: Maximum sending rate exceeded` | Amazon SES によって許可された、1 秒あたりに送信できる E メールの最大数を超えました。詳細については、「[Amazon SES 送信制限の管理](manage-sending-quotas.md)」を参照してください。 | 
| SMTP 認証情報を検証するときの Amazon SES の問題 |  `454 Temporary authentication failure`  | この問題の原因となる可能性のある問題には、以下が含まれます (ただし、これらに限定されません)。​  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/ses/latest/dg/troubleshoot-smtp.html)  | 
| リクエストの受信に関する問題 |  `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 認証情報を取得](smtp-credentials.md)」を参照してください。 | 
| Amazon SES にサブスクライブされないアカウント | `535 Account not subscribed to SES` | SMTP 認証情報を所有 AWS アカウント する は、Amazon SES にサインアップされません。 | 
| メッセージが長すぎます | `552 Message is too long.` | 送信しようとしているメッセージのサイズが[最大メッセージサイズ](quotas.md#quotas-email-sending)を超えています。 | 
| Amazon SES にサブスクライブされないアカウント | `535 Account not subscribed to SES` | SMTP 認証情報を所有 AWS アカウント する は、Amazon SES にサインアップされません。 | 
| MAIL FROM 構文エラー | `553 <email-address> Invalid email address` | SMTP メッセージの MAIL FROM 部分に構文エラーがあります。正しい形式に従っていることを確認し、電子メールアドレスを「<>」で囲むことを忘れないでください。 | 
| RCPT TO 構文エラー | `553 <email-address> address unknown` | SMTP メッセージの RCPT TO 部分に構文エラーがあります。正しい形式に従っていることを確認し、電子メールアドレスを「<>」で囲むことを忘れないでください。 | 
| 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 送信認可ポリシーでは、 SMTP エンドポイントを呼び出すことが許可されません。 | 
| 未確認の E メールアドレス | `554 Message rejected: Email address is not verified. The following identities failed the check in region region: identity0, identity1, identity2` | [Amazon SES アカウントからのメール送信が確認されていない](verify-addresses-and-domains.md)メールアドレスまたはドメインからメールを送信しようとしています。​ このエラーは、「From」、「Source」、「Sender」、または「Return-Path」のアドレスに該当する場合があります。アカウントがサンドボックスにまだある場合は、[Amazon SES メールボックスシミュレーター](send-an-email-from-console.md#send-email-simulator)から提供されているアドレスを除く、すべての受信者のアドレスも確認する必要があります。Amazon SES が検証チェックに失敗したすべての ID を表示できない場合、エラーメッセージは 3 つのピリオド (...) で終わります。  Amazon SES には[複数の AWS リージョン](regions.md)にエンドポイントがあり、E メールアドレスの検証ステータスはそれぞれ異なります AWS リージョン。 AWS リージョン 使用する で送信者ごとに検証プロセスを完了する必要があります。  | 

**注記**  
このページのトラブルシューティングに記載のない SMTP の問題については、[[お問い合わせ]](https://aws.amazon.com/ses/faqs/#Contacting_Us) に一覧表示されている SES サポートオプションをお試しください。