Fehlerbehebung
Warum läuft meine SMTP-Verbindung in eine Zeitüberschreitung?
Beheben Sie SMTP-Verbindungen zu smtp.emailit.com, die hängen oder in eine Zeitüberschreitung laufen, meist weil Ihr Netzwerk oder Cloud-Anbieter Port 25 blockiert.
Verwenden Sie diesen Artikel, wenn Ihre Anwendung überhaupt keine Verbindung zum SMTP-Relay von Emailit aufbauen kann. Wenn die Verbindung zustande kommt, Sie aber einen Fehlercode erhalten, lesen Sie stattdessen SMTP-Fehlerbehebung.
Symptome
- Ihre Mail-Bibliothek meldet
ETIMEDOUT,Connection timed out,Connection refusedoderCould not connect to SMTP host. - Der Client hängt 30 Sekunden oder länger, bevor er fehlschlägt, und unter Email APILogs erscheint nichts.
- Dieselben Einstellungen funktionieren von Ihrem Laptop aus, schlagen aber auf einem Server, in einem Container oder in einer Serverless-Funktion fehl.
Ursache
Die Verbindung wird blockiert, bevor sie Emailit erreicht. Häufige Gründe:
- Port 25 ist blockiert. Viele Hosting- und Cloud-Anbieter (zum Beispiel AWS, Google Cloud, Azure und DigitalOcean) blockieren oder drosseln ausgehenden Datenverkehr auf Port 25 standardmäßig, um Spam zu bekämpfen. Private Internetanbieter tun oft dasselbe.
- Auch andere Submission-Ports sind blockiert. Manche Anbieter blockieren bei neuen Konten auch 465 und 587.
- Eine Egress-Firewall oder Sicherheitsgruppe erlaubt nur bestimmte Zielports.
- Der Hostname ist falsch. Das Relay ist
smtp.emailit.com.
Emailit nimmt Verbindungen auf diesen Ports an:
| Port | Verschlüsselung | Wann verwenden |
|---|---|---|
| 587 | STARTTLS | Empfohlener Standard |
| 465 | Implizites TLS | Wenn Ihr Client TLS ab dem ersten Byte bevorzugt |
| 2525 | STARTTLS | Wenn 25 und 587 blockiert sind |
| 2587 | STARTTLS | Wenn 25 und 587 blockiert sind |
| 25 | STARTTLS | Nur wenn nichts anderes verfügbar ist |
Lösung
-
Zu Port 587 wechseln. Setzen Sie den Host auf
smtp.emailit.com, den Port auf587und aktivieren Sie STARTTLS. Port 25 ist für eine Anwendung selten die richtige Wahl. -
Port von der sendenden Maschine aus testen. Führen Sie die Prüfung auf dem Server selbst aus, nicht auf Ihrem Laptop.
nc -vz smtp.emailit.com 587 nc -vz smtp.emailit.com 2525Unter Windows verwenden Sie in PowerShell
Test-NetConnection smtp.emailit.com -Port 2525. Ein funktionierender Port meldet eine erfolgreiche Verbindung (TcpTestSucceeded : Truein PowerShell). Ein blockierter Port läuft in eine Zeitüberschreitung. -
2525 oder 2587 verwenden, wenn 587 blockiert ist. Beide bieten STARTTLS und werden selten gefiltert. Lassen Sie die STARTTLS-Einstellung Ihres Clients aktiviert.
-
Port in Ihrer Firewall öffnen. Erlauben Sie ausgehendes TCP zu
smtp.emailit.comauf dem gewählten Port, in Ihrer Sicherheitsgruppe, Ihrer Netzwerk-ACL oder der Netzwerkrichtlinie Ihres Containers. -
Den Anbieter nur dann um Freigabe von Port 25 bitten, wenn Sie ihn nutzen müssen. Die meisten Anbieter haben ein Antragsformular. Der Wechsel zu 587 oder 2525 geht schneller.
-
HTTP-API in Betracht ziehen. Wenn Ihre Plattform SMTP komplett blockiert, senden Sie über die E-Mail-API per HTTPS auf Port 443. Siehe API oder SMTP?.
Sobald die Verbindung funktioniert, erscheint jede übermittelte Nachricht unter Email APILogs mit der Quelle SMTP. Wenn die Verbindung jetzt zustande kommt, der Handshake aber fehlschlägt, siehe Warum erhalte ich TLS-Fehler beim Verbinden mit SMTP?. Alle Einstellungen an einem Ort finden Sie unter SMTP-Einstellungen.
Weiterhin Probleme?
Kontaktieren Sie den Support oder fragen Sie auf Discord. Geben Sie den getesteten Port, den Ort, an dem Ihre App läuft (Anbieter und Region), und die Ausgabe der Prüfung mit nc oder Test-NetConnection an.