We krijgen hier bij Mailgun vaak vragen over SMTP-poortnummers. Om de connectiviteit met ons SMTP-eindpunt (Simple Mail Transfer Protocol) te waarborgen, biedt Mailgun meerdere SMTP-poortopties, maar welke moet u gebruiken om e-mailberichten te verzenden? We zullen een historische blik werpen op elke SMTP poort en vervolgens zullen we de huidige methodologie voor het gebruik van uitgaande mail bespreken. Als u geen kenner van de geschiedenis bent, ga dan naar “Welke SMTP-poort moet u gebruiken?” voor de meest voorkomende SMTP-poorten.
Wat is een SMTP-poort?
Voordat we onze reis door de geschiedenis maken, zullen we eerst enkele basisdefinities verduidelijken.
SMTP staat voor Simple Mail Transfer Protocol – simpel gezegd, het is het proces waarmee e-mails over het Internet worden verzonden. Computerpoorten zijn de manier waarop individuele computers verbinding maken met een netwerk en elektronische processen afhandelen. Een SMTP-poort is een combinatie van beide: een poort die is ontworpen om e-mail via een netwerk naar de ontvanger te sturen.
Natuurlijk zijn er, net zoals er meerdere computerpoorten zijn, vele SMTP-poorten die kunnen worden gebruikt. Laten we eens kijken naar hun ontwikkeling.
SMTP Ports: Een historisch perspectief
In 1982 diende de University of Southern California een voorstel in bij de Internet Engineering Task Force (IETF). Request For Comments (RFC) 821 werd gepubliceerd, waarbij poort 25 werd ingesteld als het standaard transmissiekanaal voor e-mail via internet. 30 jaar later gebruiken we poort 25 nog steeds als de primaire manier om e-mail tussen twee mailservers te verzenden. Enkele RFC’s hebben de oorspronkelijke SMTP RFC verouderd. De basis voor SMTP verbindingen blijft echter hetzelfde of vergelijkbaar.
In december 1998 dienden R. Gellens en J. Klensin RFC 2476 in ter ondersteuning van het toevoegen van een nieuwe specificatie voor internet e-mail communicatie. De RFC stelde een splitsing voor van het traditionele concept van message submission en message relay. De RFC definieert dat het verzenden van berichten moet plaatsvinden via poort 587 om ervoor te zorgen dat nieuwe beleids- en veiligheidseisen niet interfereren met het traditionele relay verkeer via poort 25.
Hoe zit het met poort 465?
Het is interessant dat poort 465 nooit door de IETF is gepubliceerd als een officieel SMTP verzend- of verzendkanaal. In plaats daarvan heeft de Internet Assigned Numbers Authority (IANA), die veel van de kerninfrastructuur van het internet onderhoudt, poort 465 voor SMTPS geregistreerd. Het doel hiervan was een poort voor SMTP vast te stellen om te kunnen werken met Secure Sockets Layer (SSL). SSL wordt algemeen gebruikt voor het versleutelen van communicatie over het internet.
De poort werd voor ongeveer een jaar toegewezen toen deze werd ingetrokken ter ondersteuning van het beveiligen van SMTP communicatie met behulp van Transport Layer Security (TLS). De nagel aan de doodskist was een nieuw protocol commando “STARTTLS,” geïntroduceerd in RFC 2487. Met dit commando kunnen SMTP-servers over bestaande poorten communiceren door aan te geven of de bestemmingsserver TLS-encryptie ondersteunt. Als dat zo is, kan de verzendende server de verbinding upgraden met het “STARTTLS” SMTP commando.
Mailgun ondersteunt TLS verbindingen, die u kunt verifiëren door verbinding te maken en een “ehlo” uit te geven vanaf een command line interface. De resulterende “250 STARTTLS” bevestigt dat het eindpunt TLS-verbindingsverzoeken accepteert.
> telnet smtp.mailgun.org 587
2Probeert 50.56.21.178...
3Gebonden met smtp.mailgun.org.
4Escape teken is '^]'.
5220 ak47 ESMTP ready
> ehlo blog.mailgun.com
7250-ak47
8250-AUTH PLAIN LOGIN
9250-SIZE 52428800
10250-8BITMIME
11250-ENHANCEDSTATUSCODES
12250 STARTTLS
U kunt testen met dezelfde commando-sequentie op elke SMTP-server. Probeer Gmail of Yahoo eens, “telnet gmail-smtp-in.l.google.com 25” of “telnet mta7.am0.yahoodns.net 25”.
Welke SMTP-poort moet u gebruiken?
Hoe zit het vandaag de dag? Hoe zijn deze standaardpoorten verschillend?
Poort 25:
SMTP-poort 25 wordt nog steeds voornamelijk gebruikt voor SMTP relaying. SMTP relaying is het verzenden van e-mail van e-mailserver naar e-mailserver.
In de meeste gevallen zouden moderne SMTP e-mail clients (Microsoft Outlook, Mail, Thunderbird, etc.) deze poort niet moeten gebruiken. Het wordt traditioneel geblokkeerd door residentiële ISP’s en Cloud Hosting Providers, om de hoeveelheid spam te beperken die wordt doorgestuurd vanaf gecompromitteerde computers of servers. Tenzij u specifiek een mailserver beheert, zou u geen verkeer moeten hebben dat deze poort op uw computer of server doorkruist.
Poort 465:
IANA heeft aan deze poort een nieuwe dienst toegewezen, en hij mag niet langer voor SMTP-communicatie worden gebruikt.
Omdat deze poort echter ooit door IANA als geldig is erkend, kunnen er oudere systemen zijn die alleen deze verbindingsmethode kunnen gebruiken. Normaal gesproken zult u deze poort alleen gebruiken als uw toepassing dat vereist. Een snelle zoekactie op Google, en je zult veel artikelen vinden van consumenten Inbox Service Providers (ISP’s) die poort 465 voorstellen als de aanbevolen instelling. Wij raden dit echter niet aan, omdat het niet RFC compliant is.
Poort 587:
Dit is de standaard poort voor het verzenden van mail. Wanneer een e-mail client of uitgaande server een e-mail aanmeldt voor routering door een echte mailserver, dient deze altijd SMTP-poort 587 als standaardpoort te gebruiken.
Deze poort, in combinatie met TLS-encryptie, zorgt ervoor dat e-mail veilig wordt ingediend volgens de richtlijnen die door de IETF zijn opgesteld.
Alle Mailgun klanten zouden moeten overwegen poort 587 als standaard SMTP poort te gebruiken, tenzij u expliciet wordt geblokkeerd door uw upstream netwerk of hosting provider.
Poort 2525:
Deze poort wordt niet ondersteund door de IETF of IANA. In plaats daarvan biedt Mailgun deze als een alternatieve poort, die poort 587 weerspiegelt, voor het geval de bovenstaande poorten worden geblokkeerd. Omdat 2525 een niet-traditioneel hoog poortnummer is, is het meestal toegestaan op consumenten ISP’s en Cloud Hosting providers, zoals Google Compute Engine. Als u de bovenstaande poorten hebt geprobeerd, maar connectiviteitsproblemen ondervindt, probeer dan poort 2525. Deze poort ondersteunt ook TLS-encryptie.
Wacht, hoe zit het met POP en IMAP?
POP (Post Office Protocol, waarvan de laatste versie POP3 is) en IMAP (Internet Message Access Protocol) zijn twee van de allereerste protocollen die op het consumenten-internet zijn ontwikkeld en waarmee e-mailclients – zoals Outlook, Thunderbird en anderen – mail van een mailserver kunnen ophalen.
De poorten die gewoonlijk voor POP worden gebruikt zijn TCP-poort 110 en 995, en voor IMAP zijn dat TCP-poorten 143 en 993, voor respectievelijk onveilige en beveiligde sessies. Ze waren elk goed in verschillende dingen, zoals het terugkoppelen van de status van een e-mail naar de server (of het was gelezen, gemarkeerd, of gemarkeerd als junk), of voor het bewaren van een kopie van het bericht op een lokale machine voor gemakkelijke offline toegang. De laatste versie van POP, POP3, kan worden gebruikt met of zonder een SMTP.
Dit heeft geen invloed op welke poort u kunt gebruiken met Mailgun. Mailgun host geen mailboxen, dus dit zijn geen protocollen die wij ondersteunen.
SMTP gebruiken met Mailgun
SMTP bestaat al jaren, en veel mensen vragen ons of ze SMTP of Mailgun’s API endpoint moeten gebruiken. Beslissen of u een e-mail API of SMTP moet gebruiken om uw e-mails te verzenden is misschien geen gemakkelijke keuze.
We erkennen zeker dat er een zekere mate van vendor lock-in geassocieerd is met het bouwen rond een API. SMTP is echter uiterst “chatty” en kan leiden tot een minder goed presterende e-mailverzending naar Mailgun.
Bedenk bijvoorbeeld de typische TLS mail conversatie tussen mijn computer en Mailgun’s SMTP endpoint:
> 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 VAN:<[email protected]>
12250 Afzenderadres geaccepteerd
> RCPT TO:<[email protected]>
14250 Adres van ontvanger geaccepteerd
> DATA
16354 Doorgaan
> Dit is een test van SMTP over poort 587.
> .
19250 Groot succes
> QUIT
21221 Tot later. Met vriendelijke groet, Mailgun
Zoals u ziet is de bovenstaande communicatie nogal omslachtig met veel heen en weer geloop tussen verzender en ontvanger. We openen een verbinding met de SMTP-server, geven het EHLO-commando, authenticeren, stellen de MAIL FROM in, stellen de RCPT TO in, geven het DATA-commando, verzenden de gegevens, sluiten de periode af, en krijgen ten slotte de bevestiging dat het bericht in de wachtrij is geplaatst.
Vergelijk dit met een HTTPs payload:
> openssl s_client -connect api.mailgun.net:443
> POST /v2/samples.mailgun.org/messages HTTP/1.1
> Autorisatie: Basic YXBpOmtleS0zYXg2eG5qcDI5amQ2ZmRzNGdjMzczc2d2anh0ZW9sMA==
> Content-Type: application/x-www-form-urlencoded
> Content-Length: 126
>
> from=test%40samples.mailgun.org&to=ontvanger%40samples.mailgun.org&subject=Testing&
> text=Dit+is+een+test+van+HTTP+over+poort+443!
9HTTP/1.1 200 OK
Hier initiëren we een verbinding, geven we de HTTP POST payload door en ontvangen we een 200 OK van het API endpoint.
Wat moet u onthouden over SMTP poorten?
In het kort, wanneer performance gewenst is, raadt Mailgun aan om ons API endpoint te gebruiken. De hoeveelheid heen en weer "chatten" is veel minder. En met onze API SDK's is verbinding maken vrij eenvoudig. Als u niet geïnteresseerd bent in het verbinden via API, staan onze SMTP endpoints klaar voor uw mail. Vergeet alleen niet - poort 587 is waar het feest is voor zover het veilige SMTPs betreft!
Om meer te weten te komen, bekijk onze Documentatie voor meer info, of neem contact met ons op en we kunnen al uw vragen over SMTP poorten of onze e-mail diensten beantwoorden.