Amazon SES における SMTP 接続またはタイムアウトの問題をトラブルシューティングするにはどうすればよいですか?

最終更新日: 2021 年 11 月 10 日

Amazon Simple Email Service (Amazon SES) の Simple Mail Transfer Protocol (SMTP) がタイムアウトします。Amazon SES における SMTP 接続またはタイムアウトの問題の解決方法を教えてください。

解決方法

タイムアウト接続は、通常、クライアントがパブリック Amazon SES エンドポイントへの TCP 接続を確立できないことを示します。Amazon SES で SMTP 接続またはタイムアウトエラーを解決するには、まずアプリケーションの TCP 接続をトラブルシューティングします。TCP 接続に成功した場合は、SSL/TLS ネゴシエーションのトラブルシューティングを行います。

重要: デフォルトでは、Amazon Elastic Compute Cloud (Amazon EC2) では、すべての EC2 インスタンスについて、Amazon Virtual Private Cloud (Amazon VPC) の送信トラフィックがポート 25 に制限されます。アプリケーションで SMTP ポート 25 のトラフィックが必要な場合は、この制限の解除をリクエストできます。

アプリケーションの TCP 接続のトラブルシューティング

1.    以下の telnet または netcat (nc) コマンドを実行し、email-smtp.us-east-1.amazonaws.com を、使用している Amazon SES SMTP エンドポイントに置き換えます。

telnet email-smtp.us-east-1.amazonaws.com 587
telnet email-smtp.us-east-1.amazonaws.com 25
telnet email-smtp.us-east-1.amazonaws.com 465

nc -vz email-smtp.us-east-1.amazonaws.com 587
nc -vz email-smtp.us-east-1.amazonaws.com 25
nc -vz email-smtp.us-east-1.amazonaws.com 465

2.    出力を記録します。

接続が成功した場合、telnet コマンドは次のような出力を返します。

Trying 35.170.126.22...
Connected to email-smtp.us-east-1.amazonaws.com.
Escape character is '^]'.
220 email-smtp.amazonaws.com ESMTP SimpleEmailService-d-A12BCD3EF example0mJncW410pSau

注意: 接続に成功した場合は、以下の「 SSL/TLS ネゴシエーションのトラブルシューティング 」セクションに進みます。

接続がタイムアウトした場合、telnet コマンドは次のような出力を返します。

Trying 18.232.32.150...
telnet: connect to address 18.232.32.150: Connection timed out

注意:接続がタイムアウトした場合は、次の手順に進みます。

3.    ローカルファイアウォールルール、ルート、およびアクセスコントロールリスト (ACL) が、使用している SMTP ポートでのトラフィックを許可していることを確認してください。また、送信アプリケーションがインターネットにアクセスできることも確認します。

たとえば、Amazon EC2 インスタンスを使用して E メールを送信し、SMTP エンドポイントに接続するなら、以下を確認します。

SSL/TLS ネゴシエーションのトラブルシューティング

TCP 接続のトラブルシューティング後も接続またはタイムアウトの問題が解決しない場合は、SSL/TLS に問題があるかどうかを確認します。

1.    Amazon EC2 Linux インスタンスから openssl コマンドを実行し、email-smtp.us-east-1.amazonaws.com を、使用している Amazon SES SMTP エンドポイントに置き換えます。

注意: Amazon EC2 Windows インスタンスの場合は、 コマンドラインを使用した Amazon SES SMTP インターフェイスへの接続をテストするを参照し、[ PowerShell ] タブを選択します。

openssl s_client -crlf -connect email-smtp.us-east-1.amazonaws.com:465 
openssl s_client -crlf -starttls smtp -connect email-smtp.us-east-1.amazonaws.com:587

注意: デフォルトの認証機関 (CA) の場所が変更されている場合、これらのコマンドの実行で問題が発生する可能性があります。openssl をインストールするときは、デフォルトの CA バンドルファイルの場所を確認してください。

2.    出力を記録します。予想される応答は、SMTP 220 および SMTP 250 です。

3.    予想した出力が得られない場合は、以下を確認してください。

  • SSL/TLS 証明書ストアが正しく設定されているか検証します。
  • 送信アプリケーションに証明書への正しいパスがあることを確認します。
  • Amazon SES 証明書がサーバーにインストールされているか検証します。

注意: 正しい証明書がインストールされているかどうかをテストできます。手順については、「Amazon トラストサービスの移行について 」の「 証明書について」セクションを参照してください。


この記事はお役に立ちましたか?


請求に関するサポートまたは技術サポートが必要ですか?