Wie behebe ich Probleme mit der SMTP-Verbindung oder einem Timeout mit Amazon SES?
Mein Amazon Simple Email Service (Amazon SES) SMTP-Protocol (Simple Mail Transfer) läuft ab. Wie behebe ich SMTP-Verbindungs- oder Timeout-Fehler mit Amazon SES?
Kurzbeschreibung
Timeout-Verbindungen deuten in der Regel darauf hin, dass Ihr Client keine TCP-Verbindung zum öffentlichen Amazon SES-Endpunkt herstellen kann. Um SMTP-Verbindungs- oder Timeout-Fehler mit Amazon SES zu lösen, beheben Sie zunächst die TCP-Verbindungsprobleme der Anwendung. Wenn die TCP-Verbindung erfolgreich ist, beheben Sie die Probleme mit den SSL-/TLS-Verhandlungen.
Wichtig: Standardmäßig schränkt Amazon Elastic Compute Cloud (Amazon EC2) den ausgehenden Datenverkehr von Amazon Virtual Private Cloud (Amazon VPC) auf Port 25 für alle Amazon EC2-Instances ein. Für Anwendungen, die Datenverkehr auf dem SMTP-Port 25 benötigen, können Sie beantragen, dass diese Einschränkung aufgehoben wird.
Behebung
Beheben Sie Probleme mit der TCP-Verbindung der Anwendung
1.Führen Sie die folgenden Befehle telnet, netcat (nc) oder Test-NetConnection aus. Ersetzen Sie email-smtp.us-east-1.amazonaws.com durch den Amazon SES-SMTP-Endpunkt, den Sie verwenden:
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
-oder-
Führen Sie in PowerShell den folgenden Befehl aus, um eine Verbindung zum Amazon SES-SMTP-Server herzustellen:
Test-NetConnection -Port 587 -ComputerName email-smtp.us-west-2.amazonaws.com
2.Notieren Sie sich die Ausgabe. Wenn die Verbindung erfolgreich ist, fahren Sie mit dem Abschnitt zur Fehlerbehebung bei SSL/TLS-Verhandlungen fort. Wenn die Verbindung nicht erfolgreich ist, fahren Sie mit Schritt 3 fort.
Erfolgreiche Verbindung
Der Telnet-Befehl gibt eine Ausgabe zurück, die Folgendem ähnelt:
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
Der PowerShell-Befehl gibt eine Ausgabe zurück, die Folgendem ähnelt:
ComputerName : email-smtp.us-west-2.amazonaws.com RemoteAddress : 198.51.100.126 RemotePort : 587 InterfaceAlias : Ethernet SourceAddress : 203.0.113.46 TcpTestSucceeded : True
Erfolglose Verbindung (Timeout)
Der Telnet-Befehl gibt eine Ausgabe zurück, die Folgendem ähnelt:
Trying 18.232.32.150... telnet: connect to address 18.232.32.150: Connection timed out
Der PowerShell-Befehl gibt eine Ausgabe zurück, die Folgendem ähnelt:
WARNING: Ping to 52.39.11.136 failed with status: TimedOut ComputerName : email-smtp.us-west-2.amazonaws.com RemoteAddress : 35.155.47.104 RemotePort : 587 InterfaceAlias : Ethernet 2 SourceAddress : 10.0.0.140 PingSucceeded : False PingReplyDetails (RTT) : 0 ms TcpTestSucceeded : False
3.Vergewissern Sie sich bei erfolglosen Verbindungen, dass Ihre lokalen Firewall-Regeln, Routen und Zugriffssteuerungslisten (ACLs) den Datenverkehr auf dem von Ihnen verwendeten SMTP-Port zulassen. Vergewissern Sie sich außerdem, dass Ihre sendende Anwendung Zugriff auf das Internet hat.
Wenn Sie beispielsweise eine EC2-Instance verwenden, um E-Mails zu senden und eine Verbindung zum SMTP-Endpunkt herzustellen, überprüfen Sie Folgendes:
- Die Regeln für ausgehenden Datenverkehr (Ausgang) der Sicherheitsgruppe müssen den Datenverkehr zum SMTP-Server auf den TCP-Ports 25, 587 oder 465 zulassen.
- Die Netzwerk-ACL-Regeln für ausgehenden Datenverkehr (Ausgang) müssen den Datenverkehr zum SMTP-Server auf den TCP-Ports 25, 587 oder 465 zulassen.
- Die Netzwerk-ACL-Regeln für den eingehenden Datenverkehr (Ingress) müssen den Datenverkehr vom SMTP-Server über die TCP-Ports 1024-65535 zulassen.
- Die EC2-Instance muss über eine Internetverbindung verfügen.
Beheben Sie Probleme bei SSL-/TLS-Verhandlungen
Wenn Ihre TCP-Verbindung erfolgreich ist, Sie aber immer noch Verbindungs- oder Timeout-Probleme haben, überprüfen Sie, ob es Probleme mit dem Protokoll SSL/TLS gibt.
1.Führen Sie von einer EC2-Linux-Instance aus den Befehl openssl aus. Informationen zu Amazon EC2-Windows-Instances finden Sie unter Testen Sie Ihre Verbindung zur Amazon SES-SMTP-Schnittstelle mithilfe der Befehlszeile und wählen Sie die Registerkarte 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
Hinweis: Ersetzen Sie email-smtp.us-east-1.amazonaws.com durch den Amazon SES-SMTP-Endpunkt, den Sie verwenden. Das Ändern des Standorts der Standard-Zertifizierungsstelle (CA) kann zu Problemen führen, wenn Sie die vorherigen Befehle ausführen. Stellen Sie bei der Installation von OpenSSL sicher, dass Sie den Speicherort der Standard-CA-Bundledatei angeben.
2.Notieren Sie sich die Ausgabe. Die erwarteten Antworten sind SMTP 220 und SMTP 250.
3.Wenn Sie nicht die erwartete Ausgabe erhalten, überprüfen Sie Folgendes:
- Stellen Sie sicher, dass der SSL/TLS-Zertifikatsspeicher korrekt konfiguriert ist.
- Vergewissern Sie sich, dass Ihre sendende Anwendung den richtigen Pfad zum Zertifikat nutzt.
- Stellen Sie sicher, dass das Amazon SES-Zertifikat auf Ihrem Server installiert ist.
Hinweis: Sie können testen, ob die richtigen Zertifikate installiert sind. Genaueres finden Sie unter Über die Amazon Trust Services-Migration und im Abschnitt Über die Zertifikate.
Weitere Informationen
Verwenden der Amazon SES-SMTP-Schnittstelle zum Senden von E-Mails

Relevanter Inhalt
- AWS OFFICIALAktualisiert vor 2 Jahren
- AWS OFFICIALAktualisiert vor 2 Monaten
- AWS OFFICIALAktualisiert vor 2 Jahren