SMTP-Probleme bei Amazon SES
Dieser Abschnitt enthält Lösungen für mehrere häufig auftretende Probleme im Zusammenhang mit dem Senden von E-Mail-Nachrichten über die Amazon-SES-SMTP-Schnittstelle (Simple Mail Transfer Protocol). Er enthält auch eine Liste von SMTP-Antwortcodes, die von Amazon SES zurückgegeben werden.
Weitere Informationen zum Senden von E-Mail-Nachrichten über die Amazon-SES-SMTP-Schnittstelle finden Sie unter Verwenden der Amazon-SES-SMTP-Schnittstelle zum Senden von E-Mails.
-
Sie können keine Verbindung zum Amazon-SES-SMTP-Endpunkt herstellen.
Probleme beim Herstellen einer Verbindung mit dem Amazon-SES-SMTP-Endpunkt stehen meist mit folgenden Problemen im Zusammenhang:
-
Falsche Anmeldeinformationen – Die Anmeldeinformationen, die Sie verwenden, um eine Verbindung mit dem SMTP-Endpunkt herzustellen, unterscheiden sich von Ihren AWS-Anmeldeinformationen. Informationen zum Abrufen Ihrer SMTP-Anmeldeinformationen finden Sie unter Abrufen Ihrer Amazon-SES-SMTP-Anmeldeinformationen. Weitere Informationen zu Anmeldeinformationen finden Sie unter Arten von Amazon-SES-Anmeldeinformationen.
-
Netzwerk- oder Firewall-Probleme – Möglicherweise blockiert Ihr Netzwerk ausgehende Verbindungen über den Port, über den Sie E-Mails senden möchten. Um festzustellen, ob ein Problem in Ihrem lokalen Netzwerk die Verbindungsprobleme verursacht, geben Sie in der Befehlszeile den folgenden Befehl ein, wobei Sie
durch den Port ersetzen, den Sie zu verwenden versuchen (normalerweise 465, 587, 2465 oder 2587):port
telnet email-smtp.us-west-2.amazonaws.com
port
Wenn Sie mit diesem Befehl eine Verbindung mit dem SMTP-Server herstellen können und Sie versuchen, mithilfe von TLS Wrapper oder STARTTLS eine Verbindung mit Amazon SES herzustellen, führen Sie die in Testen der Verbindung zur Amazon-SES-SMTP-Schnittstelle über die Befehlszeile gezeigten Verfahren durch.
Wenn Sie keine Verbindung mit dem Amazon-SES-SMTP-Endpunkt über
telnet
oderopenssl
herstellen können, ist dies ein Hinweis darauf, dass etwas in Ihrem Netzwerk (wie etwa eine Firewall) ausgehende Verbindungen über den von Ihnen verwendeten Port blockiert. Versuchen Sie gemeinsam mit Ihrem Netzwerkadministrator, das Problem zu diagnostizieren und zu beheben.
-
-
Sie senden von einer Amazon-EC2-Instance über Port 25 an Amazon SES, und Sie erhalten Timeout-Fehler.
Amazon EC2 schränkt Port 25 standardmäßig ein. Um diese Beschränkungen aufzuheben, senden Sie eine Amazon EC2 Anforderung zum Entfernen von E-Mail-Sendebeschränkungen
ab. Sie können auch eine Verbindung mit Amazon SES über Port 465 oder Port 587 herstellen. Beide sind nicht eingeschränkt. -
E-Mails gehen durch Netzwerkfehler verloren.
Stellen Sie sicher, dass Ihre Anwendung eine Logik für Wiederholversuche verwendet, wenn sie eine Verbindung mit dem Amazon-SES-SMTP-Endpunkt herstellt. Außerdem muss die Anwendung die Übertragung von Nachrichten erkennen und im Fall eines Netzwerkfehlers wiederholen können. SMTP ist ein Verbose-Protokoll. Das Senden von E-Mails mit diesem Protokoll erfordert mehrere Netzläufe. Aufgrund der Beschaffenheit von SMTP nimmt die Möglichkeit von Netzwerkfehlern zu.
-
Die Verbindung mit dem SMTP-Endpunkt geht verloren.
Verlorene Verbindungen werden am häufigsten durch die folgenden Probleme verursacht:
-
MTU-Größe – Wenn Sie eine Timeout-Fehlermeldung erhalten, ist möglicherweise die maximale Größe für Übertragungseinheiten (Maximum Transmission Unit, MTU) der Netzwerkschnittstelle für den Computer, mit dem Sie eine Verbindung mit der Amazon-SES-SMTP-Schnittstelle herstellen, zu hoch. Legen Sie, um dieses Problem zu lösen, die MTU-Größe auf diesem Computer auf 1500 Byte fest.
Weitere Informationen über das Festlegen der MTU-Größe auf Microsoft Windows-, Linux- und macOS-Betriebssystemen finden Sie unter Abfragen scheinen zu hängen und erreichen den Cluster nicht im Amazon Redshift Verwaltungsleitfaden.
Weitere Informationen zum Festlegen der MTU-Größe für eine Amazon-EC2-Instance finden Sie unter Netzwerk-MTU (Maximum Transmission Unit) für Ihre EC2-Instance im Amazon-EC2-Benutzerhandbuch für Linux-Instances.
-
Langlebige Verbindungen – Der Amazon-SES-SMTP-Endpunkt wird auf einer Flotte von Amazon-EC2-Instances hinter einem Elastic Load Balancer (ELB) ausgeführt. Um sicherzustellen, dass das System aktuell und fehlertolerant ist, werden aktive Amazon-EC2-Instances regelmäßig beendet und durch neue Instances ersetzt. Da Ihre Anwendung eine Verbindung mit einer Amazon-EC2-Instance über die ELB herstellt, ist die Verbindung nicht mehr gültig, wenn die Amazon-EC2-Instance beendet wird. Sie sollten eine neue SMTP-Verbindung einrichten, nachdem Sie eine feste Anzahl von Nachrichten über eine einzelne SMTP-Verbindung gesendet haben, oder wenn die SMTP-Verbindung für einen bestimmten Zeitraum aktiv war. Sie werden etwas experimentieren müssen, um geeignete Schwellenwerte basierend darauf zu ermitteln, wo Ihre Anwendung gehostet wird und wie diese E-Mails an Amazon SES sendet.
-
-
Sie möchten die IP-Adressen der Amazon-SES-SMTP-E-Mail-Server wissen, damit Sie die IP-Adressen in eine Whitelist für Ihr Netzwerk eintragen können.
Die IP-Adressen für die Amazon-SES-SMTP-Endpunkte befinden sich hinter der Lastenverteilung. Infolgedessen ändern sich diese IP-Adressen häufig. Es ist nicht möglich, eine endgültige Liste aller IP-Adressen für die Amazon-SES-Endpunkte bereitzustellen. Es wird empfohlen, die
amazonses.com
-Domäne auf die Whitelist zu setzen, anstatt einzelne IP-Adressen auf die Whitelist zu setzen.
Von Amazon SES zurückgegebene SMTP-Antwortcodes
Dieser Abschnitt enthält eine Liste der von der Amazon-SES-SMTP-Schnittstelle zurückgegebenen Antwortcodes.
SMTP-Anforderungen, die 400-Fehler erhalten, sollten Sie wiederholen. Wir empfehlen, dass Sie ein System implementieren, das Anforderungen mit progressiv verlängerten Wartezeiten wiederholt (z. B. 5 Sekunden warten bis zur Wiederholung, dann 10 Sekunden und dann 30 Sekunden warten). Wenn die dritte Wiederholung nicht erfolgreich war, 20 Minuten warten und anschließend den Vorgang wiederholen. Ein Beispiel für eine Implementierung, die eine exponentielle Wiederholungsrichtlinie verwendet, finden Sie im Artikel Umgang mit dem Fehler „Drosselung- Maximale Senderate überschritten“
AWS-SDKs implementieren automatisch eine Logik für Wiederholversuche, die aber anstelle von SMTP die HTTPS-Schnittstelle verwenden.
Wenn Sie einen 500-Fehler erhalten, müssen Sie Ihre Anforderung überarbeiten ein Problem beheben, bevor Sie die Anforderung erneut senden. Wenn beispielsweise Ihre Anmeldeinformationen für die AWS-Authentifizierung ungültig sind, müssen Sie Ihre Anwendung dahingehend aktualisieren, dass die richtigen Anmeldeinformationen verwendet werden, bevor Sie die Anforderung erneut senden.
Beschreibung | Antwortcode | Weitere Informationen |
---|---|---|
Authentifizierung erfolgreich |
|
Ihr SMTP-Client hat erfolgreich eine Verbindung mit dem SMTP-Server hergestellt und sich angemeldet. |
Erfolgreiche Zustellung |
|
|
Service nicht verfügbar |
|
Amazon SES kann die Anforderung nicht verarbeiten, weil zurzeit zu viele Verbindungen mit dem SMTP-Server hergestellt sind. |
Lokaler Verarbeitungsfehler |
|
Amazon SES konnte die Anforderung nicht verarbeiten. Mit der Anforderung gibt es möglicherweise Probleme, die die Verarbeitung verhindern. |
Zeitüberschreitung |
|
Es ist zu viel Zeit zwischen den Anfragen verstrichen, sodass der SMTP-Server die Verbindung beendet hat. |
Sendequote pro Tag überschritten |
|
Die in Amazon SES zulässige maximale Anzahl von E-Mails, die Sie in einem Zeitraum von 24 Stunden senden können, wurde überschritten. Weitere Informationen finden Sie unter Verwalten Ihrer Amazon SES Versandkontingente. |
Maximale Senderate überschritten |
|
Die in Amazon SES zulässige maximale Anzahl von E-Mails, die Sie pro Sekunde senden können, wurde überschritten. Weitere Informationen finden Sie unter Verwalten Ihrer Amazon SES Versandkontingente. |
Amazon-SES-Problem bei der Validierung von SMTP-Anmeldeinformationen |
|
Zu den Problemen, die dazu führen, dass dieses Problem auftritt, gehören unter anderem:
|
Probleme mit dem Eingang der Anforderung |
|
Amazon SES konnte die Anforderung nicht erfolgreich empfangen. Demzufolge wurde die Nachricht nicht gesendet. |
Falsche Anmeldeinformationen |
|
Die Anwendung, die Sie zum Senden von E-Mails verwenden, hat beim Verbindungsaufbau keine Authentifizierung bei der Amazon-SES-SMTP-Schnittstelle durchgeführt. |
Ungültige Anmeldeinformationen für die Authentifizierung |
|
Die Anwendung, die Sie zum Senden von E-Mails verwenden, hat für Amazon SES keine gültigen SMTP-Anmeldeinformationen bereitgestellt. Beachten Sie, dass Ihre Anmeldeinformationen für SMTP und AWS nicht identisch sind. Weitere Informationen finden Sie unter Abrufen Ihrer Amazon-SES-SMTP-Anmeldeinformationen. |
Konto hat Amazon SES nicht abonniert |
|
Das AWS-Konto, dem die SMTP-Anmeldeinformationen gehören, ist für Amazon SES nicht registriert. |
Nachricht ist zu lang |
|
Die Nachricht, die Sie senden möchten, ist größer als die Maximalgröße für Nachrichten. |
Konto hat Amazon SES nicht abonniert |
|
Das AWS-Konto, dem die SMTP-Anmeldeinformationen gehören, ist für Amazon SES nicht registriert. |
„MAIL FROM“-Syntaxfehler |
|
Es gibt einen Syntaxfehler im „MAIL FROM“-Teil der SMTP-Nachricht. Bitte vergewissern Sie sich, dass Sie das richtige Format befolgen und vergessen Sie nicht, die E-Mail-Adresse in „<>“ einzuschließen. |
„RCPT TO“-Syntaxfehler |
|
Es gibt einen Syntaxfehler im „RCPT TO“-Teil der SMTP-Nachricht. Bitte vergewissern Sie sich, dass Sie das richtige Format befolgen und vergessen Sie nicht, die E-Mail-Adresse in „<>“ einschließen. |
Benutzer zum Aufrufen des Amazon-SES-SMTP-Endpunkts nicht autorisiert |
|
Die AWS Identity and Access Management-(IAM)-Richtlinie oder die Amazon-SES-Richtlinie für die Sendeautorisierung des Benutzers, der Eigentümer der SMTP-Anmeldeinformationen ist, hat keine Erlaubnis, den Amazon-SES-SMTP-Endpunkt aufzurufen. |
Nicht verifizierte E-Mail-Adresse |
|
Sie versuchen, eine E-Mail von einer E-Mail-Adresse oder Domäne zu senden, die nicht für das Senden von E-Mails von Ihrem Amazon-SES-Konto verifiziert wurde. Dieser Fehler kann für folgende Adressen gelten: „From“, „Source“, „Sender“ oder „Return-Path“. Wenn sich Ihr Konto noch in der Sandbox befindet, müssen Sie alle E-Mail-Adressen aller Empfänger verifizieren. (Dies gilt nicht für Empfänger, die vom Amazon-SES-Postfachsimulator bereitgestellt werden.) Sofern Amazon SES nicht alle bei der Verifizierungsüberprüfung fehlgeschlagenen Identitäten anzeigen kann, endet die Fehlermeldung mit drei Punkten (...). Amazon SES verfügt über Endpunkte in mehreren AWS-Regionen. Die Verifizierung des Status von E-Mail-Adressen erfolgt für jede AWS-Region separat. Sie müssen den Verifizierungsprozess für jeden Sender in der AWS-Regionen-Region durchführen, die Sie verwenden möchten. |