Amazon Simple Email Service
開発者ガイド

Amazon SES SMTP に関する問題

Amazon SES Simple Mail Transfer Protocol(SMTP)インターフェイスを介して E メールを送信するときに問題が発生した場合は、次に示す考えられる原因と解決策を確認してください。Amazon SES SMTP インターフェイスを介して E メールを送信する方法に関する一般的な情報については、「Amazon SES SMTP インターフェイスを使用して E メールを送信する」を参照してください。

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

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

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

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

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

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

  • Amazon EC2 インスタンスからポート 25 を介して Amazon SES に送信しようとしていて、Amazon SES 送信制限に達しないか、またはタイムアウトを受け取っている。

    Amazon EC2 では、ポート 25 を介して送信される E メールにデフォルトの送信制限が適用され、この制限を超えて送信しようとした場合にアウトバウンド接続が調整されます。これらの制限を解除するには、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 アドレスが頻繁に変更されます。したがって、Amazon SES エンドポイントの確実な IP アドレスのリストを提供することはできません。DNS と静的でない IP アドレスにのみ基づいたホワイトリストを作成することをお勧めします。

  • Amazon SES を Sendmail または Postfix と統合している場合に、ホスト名が一致しないためにサーバーが認証されない。

    Amazon SES を既存の E メールサーバーに統合する の手順を完了しても、ホスト名が一致しないという認証エラーを受け取る場合は、メールサーバーの適切なトラブルシューティングのステップを実行します。

    • Sendmail を使用する場合Amazon SES と Sendmail の連携 のステップ 2 を実行した後で、/etc/mail/authinfo に次の行のいずれかを追加して、SMTP ユーザー名とパスワードで USERNAMEPASSWORD を置き換えます。

      リージョン 追加するコンテンツ

      米国東部(バージニア北部)

      AuthInfo:ses-smtp-prod-335357831.us-east-1.elb.amazonaws.com "U:root" "I:USERNAME" "P:PASSWORD" "M:LOGIN"

      米国西部 (オレゴン)

      AuthInfo:ses-smtp-us-west-2-prod-14896026.us-west-2.elb.amazonaws.com "U:root" "I:USERNAME" "P:PASSWORD" "M:LOGIN"

      欧州 (アイルランド)

      AuthInfo:ses-smtp-eu-west-1-prod-345515633.eu-west-1.elb.amazonaws.com "U:root" "I:USERNAME" "P:PASSWORD" "M:LOGIN"

      Amazon SES と Sendmail の連携 のステップ 5 が完了したら、/etc/mail/access に次の行のいずれかを追加します。

      リージョン 追加するコンテンツ

      米国東部(バージニア北部)

      Connect:ses-smtp-prod-335357831.us-east-1.elb.amazonaws.com RELAY

      米国西部 (オレゴン)

      Connect:ses-smtp-us-west-2-prod-14896026.us-west-2.elb.amazonaws.com RELAY

      欧州 (アイルランド)

      Connect:ses-smtp-eu-west-1-prod-345515633.eu-west-1.elb.amazonaws.com RELAY

    • Postfix を使用する場合Amazon SES と Postfix の連携 のパート 2 で、ファイルを暗号化する前に、/etc/postfix/sasl_passwd に次の行のいずれかを追加して、SMTP ユーザー名とパスワードで USERNAMEPASSWORD を置き換えます。

      リージョン 追加するコンテンツ

      米国東部(バージニア北部)

      ses-smtp-prod-335357831.us-east-1.elb.amazonaws.com:25 USERNAME:PASSWORD

      米国西部 (オレゴン)

      ses-smtp-us-west-2-prod-14896026.us-west-2.elb.amazonaws.com:25 USERNAME:PASSWORD

      欧州 (アイルランド)

      ses-smtp-eu-west-1-prod-345515633.eu-west-1.elb.amazonaws.com:25 USERNAME:PASSWORD