Ein Entwickler verbrachte Stunden damit zu debuggen, warum seine Anwendung keine E-Mails senden konnte. Der Code war korrekt. Die Zugangsdaten waren gültig. Der E-Mail-Dienst funktionierte. Das Problem? Er versuchte, sich über Port 25 zu verbinden, den sein Cloud-Anbieter standardmäßig blockierte. Das Umstellen auf Port 587 behob alles sofort.
E-Mail verwendet unterschiedliche Ports für unterschiedliche Zwecke, und diese Unterschiede sind wichtiger, als man denkt. Der falsche Port kann zu blockierten Verbindungen, Sicherheitslücken oder Zustellfehlern führen. Zu wissen, welchen Port man wann nutzt, spart Debugging-Zeit und verbessert die E-Mail-Infrastruktur.
Port 25: der ursprüngliche SMTP-Port
Port 25 ist der traditionelle SMTP-Port, der in der ursprünglichen Protokollspezifikation definiert ist. Er wird für die Server-zu-Server-Übertragung von E-Mails genutzt—wenn ein Mailserver E-Mails an einen anderen zustellt.
Wenn dein Mailserver eine E-Mail an gmail.com zustellen muss, verbindet er sich mit den Gmail-Servern über Port 25. So fließen E-Mails seit Beginn der Internet-E-Mail zwischen Servern.
Port 25 hat jedoch Probleme in der modernen Nutzung. Er wurde entworfen, bevor Spam ein großes Thema war, und wurde stark missbraucht. Viele ISPs und Cloud-Anbieter blockieren ausgehende Port-25-Verbindungen aus ihren Netzen, um zu verhindern, dass kompromittierte Maschinen direkt Spam versenden.
Wenn du einen Mailserver betreibst, der E-Mails von anderen Servern empfangen muss, musst du Verbindungen auf Port 25 annehmen. Darüber werden andere Server verbinden. Für das Senden von E-Mails aus Anwendungen ist Port 25 jedoch meist die falsche Wahl—er ist wahrscheinlich blockiert, und selbst wenn nicht, erfordert er standardmäßig keine Authentifizierung.
Port 587: der Submission-Port
Port 587 ist der vorgesehene Port für die E-Mail-Submission—wenn ein E-Mail-Client oder eine Anwendung eine Nachricht an einen Mailserver zur Zustellung übergibt. Er wurde ausdrücklich dafür geschaffen, Client-Submission von Server-zu-Server-Transfer zu trennen.
Im Gegensatz zu Port 25 erfordert Port 587 Authentifizierung. Man kann nicht einfach verbinden und senden; man muss nachweisen, dass man autorisiert ist. Das macht Missbrauch durch Spammer deutlich schwerer und ist für legitime Nutzung viel sicherer.
Port 587 verwendet STARTTLS zur Verschlüsselung. Die Verbindung beginnt unverschlüsselt und wird nach dem initialen Handshake auf TLS hochgestuft. Das nennt man "explicit TLS" oder "opportunistic TLS". Moderne Server verlangen das Upgrade; die unverschlüsselte Phase dient nur der Kompatibilität mit dem Protokollablauf.
Für Anwendungen, die E-Mails über einen E-Mail-Dienst oder ein SMTP-Relay senden, ist Port 587 in der Regel die richtige Wahl. Er ist für diesen Zweck entworfen, erfordert Authentifizierung, unterstützt Verschlüsselung und wird typischerweise nicht von Netzbetreibern blockiert.
Port 465: implizites TLS
Port 465 hat eine komplizierte Geschichte. Er war in den 1990er Jahren kurzzeitig für SMTPS (SMTP over SSL) zugewiesen, dann verworfen und kürzlich für "implizite TLS"-Submission neu standardisiert.
Bei implizitem TLS ist die Verbindung ab dem ersten Byte verschlüsselt. Es gibt keinen unverschlüsselten Handshake mit anschließendem Upgrade—man verbindet sich sofort mit TLS. Das ist wohl sicherer als STARTTLS, das ein kurzes unverschlüsseltes Fenster hat, das theoretisch ausnutzbar sein könnte.
Moderne E-Mail-Dienste unterstützen zunehmend Port 465 für Submission. Wenn dein E-Mail-Anbieter ihn anbietet und dein Client oder deine Bibliothek ihn unterstützt, ist Port 465 eine solide Wahl. Die sofortige Verschlüsselung bietet gegenüber dem STARTTLS-Ansatz auf Port 587 eine leicht höhere Sicherheit.
Die historische Verwirrung um Port 465 führt dazu, dass manche ältere Dokumentation empfiehlt, ihn zu vermeiden. Dieser Rat ist überholt. Der Port wurde neu standardisiert und ist heute eine legitime, empfohlene Option für die E-Mail-Submission.
Port 2525: die Alternative
Port 2525 ist kein offizieller Standard—es ist eine Konvention, die entstand, weil die Ports 25, 465 und 587 manchmal blockiert oder eingeschränkt sind.
Manche ISPs blockieren Port 25, um Spam zu verhindern. Manche Unternehmens-Firewalls beschränken E-Mail-Ports. Manche Cloud-Anbieter begrenzen, welche Ports du nutzen kannst. Wenn die Standardports nicht funktionieren, klappt Port 2525 oft.
E-Mail-Dienste bieten häufig Port 2525 als alternativen Submission-Port an. Er funktioniert genau wie Port 587—gleiches Protokoll, gleiche Authentifizierung, gleiche STARTTLS-Verschlüsselung—nur mit einer anderen Portnummer.
Wenn du Probleme mit Verbindungen über die Standardports hast, probiere 2525. Er wird von E-Mail-Diensten breit unterstützt und selten blockiert. Er ist nicht "besser" als 587 oder 465; er ist nur eine Ausweichmöglichkeit, wenn diese nicht funktionieren.
Den richtigen Port auswählen
Je nach Szenario sind unterschiedliche Ports sinnvoll.
Für die E-Mail-Submission aus Anwendungen (Senden über einen E-Mail-Dienst) nutze Port 587 oder 465. Beide erfordern Authentifizierung und unterstützen Verschlüsselung. Port 587 mit STARTTLS ist am universellsten unterstützt. Port 465 mit implizitem TLS ist etwas sicherer. Wenn beide blockiert sind, probiere 2525.
Für Server-zu-Server-Transfer (betrieb eigener Mailserver) musst du Verbindungen auf Port 25 annehmen. Andere Server werden dort verbinden, um dir E-Mails zuzustellen. Du kannst auch über Port 25 an andere Server senden, wobei viele Mailserver heute verschlüsselte Verbindungen bevorzugen.
Für den Empfang von E-Mails auf deinem eigenen Server lausche auf Port 25 für eingehende Server-zu-Server-Verbindungen. Du kannst zusätzlich auf 587 und/oder 465 für authentifizierte Submission durch eigene Nutzer und Anwendungen lauschen.
Verwende Port 25 niemals für nicht authentifizierte Submission aus Anwendungen. Selbst wenn es funktioniert, ist es ein Sicherheitsrisiko und führt vermutlich zu Problemen bei der Zustellbarkeit.
Sicherheitsaspekte
Die Portwahl beeinflusst die Sicherheit auf mehrere Arten.
Die Authentifizierungsanforderungen unterscheiden sich je Port. Port 25 erfordert traditionell keine Authentifizierung (obwohl moderne Server sie oft verlangen). Ports 587 und 465 erfordern per Design Authentifizierung. Nutze für Submission immer authentifizierte Ports.
Die Ansätze zur Verschlüsselung variieren. Port 587 nutzt STARTTLS (Upgrade zur Verschlüsselung). Port 465 nutzt implizites TLS (von Beginn an verschlüsselt). Port 25 kann STARTTLS unterstützen, erfordert es aber nicht. Nutze aus Sicherheitsgründen immer Ports, die Verschlüsselung erzwingen.
Die Netzwerkexposition ist relevant. Wenn du einen Mailserver betreibst, muss Port 25 für den E-Mail-Empfang ins Internet offen sein. Ports 587 und 465 können auf bekannte Clients oder VPNs beschränkt werden, wenn du keinen öffentlichen Submission-Zugang benötigst.
Firewall-Regeln sollten diese Unterschiede widerspiegeln. Erlaube Port 25 eingehend für den E-Mail-Empfang. Erlaube Ports 587/465 für Submission, ggf. mit zusätzlichen Einschränkungen. Blockiere ausgehenden Port 25 auf Systemen, die nicht direkt E-Mails senden sollen.
Häufige Port-Probleme
Mehrere Probleme treten rund um E-Mail-Ports regelmäßig auf.
Blockierte Ports sind das häufigste Problem. Cloud-Anbieter blockieren Port 25 oft standardmäßig. Unternehmensnetze können E-Mail-Ports einschränken. ISPs blockieren mitunter das Senden von E-Mails über Privatanschlüsse. Wenn Verbindungen fehlschlagen, probiere alternative Ports.
Der falsche Port für den Zweck sorgt für Verwirrung. Der Versuch, E-Mails über Port 25 zu submitten, mag funktionieren, bietet aber keine korrekte Authentifizierung. Der Versuch, Server-zu-Server-E-Mails über Port 587 zu empfangen, funktioniert nicht—andere Server erwarten Port 25.
TLS-Konfigurationsmismatches treten auf, wenn der Client einen Verschlüsselungsmodus erwartet und der Server einen anderen anbietet. Port 587 erwartet STARTTLS; Port 465 erwartet sofortiges TLS. Der falsche Modus für den jeweiligen Port führt zu Verbindungsfehlern.
Zu restriktive Firewall-Regeln blockieren legitime E-Mails. Zu permissiv, und du bist Missbrauch ausgesetzt. Das richtige Gleichgewicht erfordert Verständnis dafür, welche Ports welche Zwecke erfüllen.
Port-Konnektivität testen
Bevor du komplexe E-Mail-Probleme debuggst, prüfe die grundlegende Port-Konnektivität.
Telnet oder netcat können testen, ob ein Port erreichbar ist. "telnet mail.example.com 587" versucht eine Verbindung. Wenn sie zustande kommt, ist der Port offen. Wenn sie ausläuft oder verweigert wird, blockiert etwas.
OpenSSL kann verschlüsselte Verbindungen testen. "openssl s_client -connect mail.example.com:465" testet implizites TLS. "openssl s_client -starttls smtp -connect mail.example.com:587" testet STARTTLS.
Online-Tools können von außerhalb deines Netzes testen. Wenn Verbindungen mit externen Tools funktionieren, aber nicht mit deiner Anwendung, liegen die Probleme wahrscheinlich an ausgehenden Einschränkungen deines Netzes.
Die Dokumentation des E-Mail-Dienstes gibt an, welche Ports sie unterstützen und empfehlen. Schau in die Docs statt zu raten—verschiedene Dienste haben unterschiedliche Konfigurationen.
Frequently asked questions
Welchen Port sollte ich für das Senden von E-Mails aus meiner Anwendung verwenden?
Port 587 mit STARTTLS ist die am weitesten unterstützte Wahl. Port 465 mit implizitem TLS ist ebenfalls gut, wenn dein E-Mail-Dienst ihn unterstützt. Wenn beide blockiert sind, probiere Port 2525.
Warum ist Port 25 auf meinem Cloud-Server blockiert?
Cloud-Anbieter blockieren Port 25 standardmäßig, um Spam zu verhindern. Kompromittierte Server versuchen oft, direkt Spam zu versenden. In der Regel kannst du Zugriff auf Port 25 beantragen, wenn du einen legitimen Bedarf hast, aber für Anwendungsmails nutze stattdessen Port 587.
Ist Port 465 sicher in der Nutzung?
Ja. Trotz seiner komplizierten Geschichte ist Port 465 heute für implizite TLS-Submission neu standardisiert. Er ist gegenüber Port 587 arguably sicherer, weil die Verschlüsselung sofort beginnt und nicht erst nach einem STARTTLS-Upgrade.
Muss ich mehrere Ports für E-Mail öffnen?
Das hängt von deinem Setup ab. Für den Empfang von E-Mails auf deinem eigenen Server brauchst du Port 25 offen. Für Submission kannst du 587 und/oder 465 anbieten. Für das Senden über einen E-Mail-Dienst benötigst du nur ausgehenden Zugriff auf deren Ports.