Es ist eine häufige Frage, die wir hier bei Mailgun über SMTP-Portnummern erhalten. Um die Konnektivität zu unserem Simple Mail Transfer Protocol (SMTP) Endpunkt zu gewährleisten, bietet Mailgun mehrere SMTP-Port-Optionen an, aber welchen sollten Sie zum Versenden von E-Mail-Nachrichten verwenden? Wir werden einen historischen Blick auf jeden SMTP-Port werfen und dann die heutige Methodik für die Verwendung von ausgehenden E-Mails diskutieren. Wenn Sie kein Geschichtsfan sind, finden Sie unter „Welchen SMTP-Port sollten Sie verwenden?“ die gebräuchlichsten SMTP-Ports.
Was ist ein SMTP-Port?
Vor unserer Reise durch die Geschichte werden wir einige grundlegende Definitionen klären.
SMTP steht für Simple Mail Transfer Protocol – einfach ausgedrückt, ist es der Prozess, mit dem E-Mails über das Internet versendet werden. Computer-Ports sind die Art und Weise, wie sich einzelne Computer mit einem Netzwerk verbinden und elektronische Prozesse abwickeln. Ein SMTP-Port ist eine Kombination aus beidem: ein Port, der dazu dient, E-Mails durch ein Netzwerk und zum Empfänger zu senden.
So wie es mehrere Computer-Ports gibt, gibt es natürlich auch viele SMTP-Ports, die verwendet werden können. Werfen wir einen Blick auf ihre Entwicklung.
SMTP Ports: Ein historischer Rückblick
Im Jahr 1982 reichte die University of Southern California einen Vorschlag bei der Internet Engineering Task Force (IETF) ein. Der Request For Comments (RFC) 821 wurde veröffentlicht und etablierte Port 25 als Standard-Übertragungskanal für Internet-E-Mails. 30 Jahre später verwenden wir immer noch Port 25 als primäres Mittel zur Übertragung von E-Mails zwischen zwei Mailservern. Einige RFCs haben den ursprünglichen SMTP-RFC überholt. Die Basis für SMTP-Verbindungen bleibt jedoch gleich oder ähnlich.
Im Dezember 1998 reichten R. Gellens und J. Klensin RFC 2476 ein, um eine neue Spezifikation für die Internet-E-Mail-Kommunikation hinzuzufügen. Der RFC schlug eine Aufteilung des traditionellen Konzepts der Nachrichtenübermittlung und der Nachrichtenweitergabe vor. Der RFC definierte, dass die Nachrichtenübermittlung über Port 587 erfolgen sollte, um sicherzustellen, dass neue Richtlinien und Sicherheitsanforderungen den traditionellen Relay-Verkehr über den Message Relay-Port 25 nicht beeinträchtigen.
Was ist mit Port 465?
Interessanterweise wurde Port 465 nie als offizieller SMTP-Übertragungs- oder Übermittlungskanal von der IETF veröffentlicht. Stattdessen hat die Internet Assigned Numbers Authority (IANA), die einen Großteil der Kerninfrastruktur des Internets verwaltet, Port 465 für SMTPS registriert. Der Zweck war, einen Port für SMTP einzurichten, um mit Secure Sockets Layer (SSL) zu arbeiten. SSL wird üblicherweise für die Verschlüsselung der Kommunikation über das Internet verwendet.
Der Port wurde für etwa ein Jahr zugewiesen, als er zur Unterstützung der Sicherung der SMTP-Kommunikation mit Transport Layer Security (TLS) wieder aufgehoben wurde. Der Nagel im Sarg war ein neuer Protokollbefehl „STARTTLS“, der in RFC 2487 eingeführt wurde. Dieser Befehl ermöglicht es SMTP-Servern, über bestehende Ports zu kommunizieren, indem sie mitteilen, ob der Zielserver TLS-Verschlüsselung unterstützt. Wenn ja, kann der sendende Server die Verbindung mit dem SMTP-Befehl „STARTTLS“ aufrüsten.
Mailgun unterstützt TLS-Verbindungen, was Sie überprüfen können, indem Sie eine Verbindung herstellen und ein „ehlo“ von einer Kommandozeilenschnittstelle aus absetzen. Das daraufhin ausgegebene „250 STARTTLS“ bestätigt, dass der Endpunkt TLS-Verbindungsanfragen annimmt.
> telnet smtp.mailgun.org 587
2Versuch 50.56.21.178...
3Verbunden mit smtp.mailgun.org.
4Escape-Zeichen ist '^]'.
5220 ak47 ESMTP bereit
> ehlo blog.mailgun.com
7250-ak47
8250-AUTH PLAIN LOGIN
9250-SIZE 52428800
10250-8BITMIME
11250-ENHANCEDSTATUSCODES
12250-STARTTLS
Sie können die gleiche Befehlsfolge auf jedem SMTP-Server testen. Versuchen Sie Gmail oder Yahoo: „telnet gmail-smtp-in.l.google.com 25“ oder „telnet mta7.am0.yahoodns.net 25“.
Welchen SMTP-Port sollten Sie verwenden?
Wie sieht es heute aus? Wie unterscheiden sich diese Standard-Ports? Sind einige im Laufe der Zeit veraltet?
Port 25:
SMTP-Port 25 wird weiterhin hauptsächlich für SMTP-Relaying verwendet. SMTP-Relaying ist die Übertragung von E-Mails von E-Mail-Server zu E-Mail-Server.
In den meisten Fällen sollten moderne SMTP-E-Mail-Clients (Microsoft Outlook, Mail, Thunderbird, etc.) diesen Port nicht verwenden. Er wird traditionell von privaten ISPs und Cloud-Hosting-Anbietern blockiert, um die Menge an Spam einzudämmen, die von kompromittierten Computern oder Servern weitergeleitet wird. Sofern Sie nicht speziell einen Mail-Server verwalten, sollte kein Datenverkehr über diesen Port auf Ihrem Computer oder Server laufen.
Port 465:
Diesem Port wurde von der IANA ein neuer Dienst zugewiesen, und er sollte nicht mehr für SMTP-Kommunikation verwendet werden.
Da er jedoch einst von der IANA als gültig anerkannt wurde, kann es ältere Systeme geben, die nur diese Verbindungsmethode verwenden können. Typischerweise werden Sie diesen Port nur verwenden, wenn Ihre Anwendung dies erfordert. Eine kurze Google-Suche, und Sie werden viele Artikel über Posteingangsdienstanbieter (ISPs) finden, die Port 465 als empfohlene Einrichtung vorschlagen. Wir raten jedoch davon ab, da er nicht RFC-konform ist.
Port 587:
Dies ist der Standard-Port für den Postausgang. Wenn ein E-Mail-Client oder ein Postausgangsserver eine E-Mail zur Weiterleitung an einen geeigneten Mailserver sendet, sollte er immer den SMTP-Port 587 als Standardport verwenden.
Dieser Port stellt in Verbindung mit der TLS-Verschlüsselung sicher, dass E-Mails sicher und gemäß den Richtlinien der IETF gesendet werden.
Alle Mailgun-Kunden sollten die Verwendung von Port 587 als Standard-SMTP-Port in Betracht ziehen, sofern Sie nicht explizit von Ihrem Upstream-Netzwerk oder Hosting-Provider blockiert werden.
Port 2525:
Dieser Port wird weder von der IETF noch von der IANA unterstützt. Stattdessen bietet Mailgun ihn als alternativen Port an, der den Port 587 widerspiegelt, für den Fall, dass die oben genannten Ports blockiert sind. Da 2525 eine nicht-traditionelle hohe Portnummer ist, ist sie typischerweise bei Verbraucher-ISPs und Cloud-Hosting-Anbietern, wie Google Compute Engine, erlaubt. Wenn Sie die oben genannten Ports ausprobiert haben, aber Probleme mit der Konnektivität auftreten, versuchen Sie Port 2525. Dieser Port unterstützt auch TLS-Verschlüsselung.
Warten Sie, was ist mit POP und IMAP?
POP (Post Office Protocol, die neueste Version ist POP3) und IMAP (Internet Message Access Protocol) sind zwei der allerersten Protokolle, die im Consumer-Internet entwickelt wurden und die es E-Mail-Clients – wie Outlook, Thunderbird und anderen – ermöglichen, E-Mails von einem Mail-Server abzurufen.
Die Ports, die typischerweise für POP verwendet werden, sind die TCP-Ports 110 und 995, und für IMAP die TCP-Ports 143 und 993, jeweils für unsichere und sichere Sitzungen. Sie waren jeweils für unterschiedliche Aufgaben gut, wie die Rückmeldung des Status einer E-Mail an den Server (ob sie gelesen, markiert oder als Junk markiert wurde) oder für die Aufbewahrung einer Kopie der Nachricht auf einem lokalen Rechner für den einfachen Offline-Zugriff. Die neueste Version von POP, POP3, kann mit oder ohne SMTP verwendet werden.
Dies hat keinen Einfluss darauf, welchen Port Sie mit Mailgun verwenden können. Mailgun hostet keine Mailboxen, daher sind dies keine Protokolle, die wir unterstützen.
SMTP mit Mailgun verwenden
SMTP gibt es schon seit Jahren, und viele Leute fragen uns, ob sie SMTP oder den API-Endpunkt von Mailgun verwenden sollten. Die Entscheidung, ob Sie eine E-Mail-API oder SMTP verwenden sollten, um Ihre E-Mails zu versenden, ist nicht immer einfach.
Wir sind uns darüber im Klaren, dass es ein gewisses Maß an Herstellerabhängigkeit gibt, wenn man um eine API herum baut. SMTP ist jedoch extrem „geschwätzig“ und kann zu einer weniger performanten E-Mail-Übermittlung an Mailgun führen.
Betrachten wir zum Beispiel die typische TLS-Mail-Konversation zwischen meinem Computer und dem SMTP-Endpunkt von Mailgun:
> openssl s_client -starttls smtp -crlf -connect smtp.mailgun.org:587
2250 STARTTLS
> ehlo blog.mailgun.com
4250-ak47
5250-AUTH PLAIN LOGIN
6250-SIZE 52428800
7250-8BITMIME
8250-ENHANCEDSTATUSCODES
> AUTH PLAIN AHBvc3RtYXN0ZXJAc2FtcGxlcy5tYWlsZ3VuLm9yZwAza2g5dW11am9yYTU=
10235 2.0.0 OK
> MAIL FROM:<[email protected]>
12250 Absenderadresse akzeptiert
> RCPT TO:<[email protected]>
14250 Empfängeradresse akzeptiert
> DATA
16354 Continue
> Dies ist ein Test von SMTP über Port 587.
> .
19250 Viel Erfolg
> QUIT
21221 Bis später. Mit freundlichen Grüßen, Mailgun
Wie Sie sehen, ist die obige Kommunikation recht umständlich mit viel Hin und Her zwischen Absender und Empfänger. Wir öffnen eine Verbindung zum SMTP-Server, geben den EHLO-Befehl, authentifizieren uns, setzen das MAIL FROM, setzen das RCPT TO, den DATA-Befehl, senden die Daten, den Zeitraum bis zum Schließen und erhalten schließlich die Bestätigung, dass die Nachricht in die Warteschlange gestellt wurde.
Vergleichen Sie dies mit einer HTTPs-Nutzlast:
> openssl s_client -connect api.mailgun.net:443
> POST /v2/samples.mailgun.org/messages HTTP/1.1
> Authorization: Basic YXBpOmtleS0zYXg2eG5qcDI5amQ2ZmRzNGdjMzczc2d2anh0ZW9sMA==
> Content-Type: application/x-www-form-urlencoded
> Content-Length: 126
>
> from=test%40samples.mailgun.org&to=recipient%40samples.mailgun.org&subject=Testing&
> text=Dies+ist+ein+Test+von+HTTP+über+Port+443!
9HTTP/1.1 200 OK
Hier initiieren wir eine Verbindung, übergeben die HTTP-POST-Nutzlast und erhalten ein 200 OK vom API-Endpunkt. Wir müssen nicht eine Reihe von Befehlen erteilen und nach jedem Befehl auf eine Antwort vom Server warten.
Was sollten Sie über SMTP-Ports wissen?
Zusammenfassend lässt sich sagen, dass Mailgun empfiehlt, unseren API-Endpunkt zu verwenden, wenn Leistung erwünscht ist. Der Aufwand für das Hin- und Her-Chatten ist viel geringer. Und mit unseren API-SDKs ist die Verbindung ziemlich einfach. Wenn Sie nicht an einer Verbindung über API interessiert sind, stehen unsere SMTP-Endpunkte für Ihre Mail bereit. Vergessen Sie nur nicht, dass Port 587 die beste Adresse ist, wenn es um sichere SMTPs geht!
Wenn Sie mehr erfahren möchten, schauen Sie sich unsere Dokumentation an, oder kontaktieren Sie uns, damit wir Ihre Fragen zu SMTP-Ports oder unseren E-Mail-Diensten beantworten können.