Wat is SMTP? | Servers, poorten en meer
SMTP lijkt misschien ingewikkeld met zijn protocollen, poorten, servers en providers, maar dat hoeft niet zo te zijn. We behandelen alles zodat je SMTP volledig begrijpt.
Wat is Simple Mail Transfer Protocol?
Simple Mail Transfer Protocol (SMTP) is het protocol dat door e-mailservers wordt gebruikt om uitgaande e-mail tussen gebruikers te verzenden, ontvangen of door te sturen.
SMTP is een van de kerntechnologieën achter e-mail, maar velen van ons weten er weinig van. Als je ooit een e-mailclient op je computer hebt ingesteld (zoals Outlook, Thunderbird, Apple Mail of Windows Mail), dan ben je waarschijnlijk al eens in aanraking gekomen met SMTP.
Hoe werkt SMTP?
Simple Mail Transfer Protocol (SMTP) is een protocol dat wordt gebruikt om e-mailberichten van de ene server naar de andere te verzenden. SMTP werkt door berichten te versturen via een reeks commando’s en antwoorden. Een clientmachine stuurt een SMTP-commando naar een mailserver, die vervolgens verantwoordelijk is voor het doorsturen van het bericht naar de bedoelde ontvanger. Dit proces omvat doorgaans authenticatie en encryptie, afhankelijk van de e-mailprovider. Na succesvolle authenticatie en encryptie stuurt de server het bericht door naar de mailserver van de ontvanger, die het bericht vervolgens in de inbox van de ontvanger aflevert.
Laten we eerst twee belangrijke termen onderscheiden voordat we SMTP in detail bespreken:
- E-mailservers zijn softwaretoepassingen op een computer die het routeren, verzenden en ontvangen van e-mail afhandelen. Deze servers kunnen op elke computer draaien (zolang ze ontworpen zijn voor het betreffende besturingssysteem) en voeren hun taken uit zonder handmatige tussenkomst van een beheerder.
- E-mailclients zijn zelfstandige softwaretoepassingen die verbinding kunnen maken met servers en deze lokaal op de computer van de gebruiker kunnen gebruiken. Wanneer je een client gebruikt, verstuur je niet direct een e-mail vanaf je computer. In plaats daarvan gebruik je lokale tools (zoals verwerken, opmaken, enzovoort) en verstuur je de e-mail via een andere server, die het routeren afhandelt.
Het is belangrijk te begrijpen dat transacties plaatsvinden via wat bekendstaat als een SMTP-server, die onderdeel is van een uitgebreidere server. Je kunt bijvoorbeeld een speciale computer hebben die uitsluitend als server fungeert, of de software draaien op een multifunctionele computer. Een SMTP-server zou dan onderdeel kunnen zijn van die software.
In beide gevallen regelt het “SMTP”-gedeelte van e-mail het inkomende en uitgaande e-mailverkeer via enkele basismechanismen. Deze mechanismen omvatten het volgende:
- Een SMTP-server: Je moet een softwareplatform op je computer geïnstalleerd en actief hebben om berichten te kunnen verzenden en ontvangen. Deze server moet geconfigureerd zijn om e-mail te accepteren en te verzenden. Daarnaast moet een e-mailclient die verbinding maakt met die software, de configuratiedetails kennen.
- Een SMTP-serverlocatie: Toegewijde servers hebben vaak een adres waarmee je verbinding maakt. Je kunt bijvoorbeeld met een client verbinding maken met de servers van Google op smtp.google.com en e-mail verzenden via die e-mailserver.
- Toegewijde poortverbindingen: De e-mailserver wijst een of meer poorten toe, netwerkverbindingen die numeriek worden weergegeven in je computersysteem, exclusief voor het verzenden en ontvangen van e-mail. Meestal gebruiken servers standaard poort 25 voor platte tekst e-mails en poort 587 voor versleutelde e-mails.
Wat zijn SMTP-commando’s?
SMTP-commando’s zijn een reeks instructies die worden gebruikt om de communicatie tussen e-mailservers te regelen. Ze maken deel uit van het SMTP (Simple Mail Transfer Protocol), waarmee e-mails kunnen worden verzonden, ontvangen en doorgestuurd tussen servers. Enkele van de meest gebruikte SMTP-commando’s zijn HELO, EHLO, MAIL FROM, RCPT TO, DATA, QUIT en RSET. Deze commando’s worden gebruikt om de afzender en ontvanger van een e-mail te identificeren, de inhoud van het bericht te verzenden, een sessie te beëindigen en een bestaande sessie te resetten. Laten we ze nader bekijken:
- HELO of EHLO: Wanneer SMTP een bericht verzendt en verbinding maakt met een ontvangende server, identificeert het zichzelf als server (en dus als in staat om e-mails uit te wisselen) met dit commando. De verzendende computer geeft het HELO-commando, en de ontvangende computer stuurt een ander HELO-commando terug met IP-adres of domeininformatie.
- MAIL FROM: Dit bevat informatie over wie het bericht verstuurt en geeft aan dat een e-mailtransactie begint. Zodra dit is geaccepteerd, neemt de ontvangende computer het MAIL FROM-adres en stuurt een OK-replycode terug.
- RCPT TO: Na de OK-code geeft de verzendende computer dit commando, waarin het e-mailadres van de ontvanger wordt opgegeven. Dit proces kan meerdere keren worden herhaald als er meerdere ontvangers zijn.
- DATA: Zodra alle ontvangers zijn geregistreerd, stuurt de verzendende computer de inhoud van het bericht naar de ontvangende server. De verzendende computer beëindigt de overdracht met een enkele regel met een punt, wat het einde van de overdracht aangeeft, en de ontvangende computer bevestigt met een OK-commando. Daarna stuurt de ontvangende server het bericht naar de e-mailadressen uit het RCPT TO-commando.
- QUIT: De verzendende computer stuurt dit commando om de overdracht te beëindigen.
Hoewel dit als een omslachtig proces klinkt, zeker bij miljoenen e-mails per dag, duurt elk commando in werkelijkheid slechts een fractie van een seconde.
We hebben genoemd dat SMTP platte tekst gebruikt om informatie te verzenden. Er is een uitbreiding van SMTP, genaamd Simple Mail Transfer Protocol Secure (SMTPS), die SSL of TLS gebruikt voor encryptie in plaats van verbinding via TCP. Veel providers, zoals Google, gebruiken standaard TLS zolang zowel de verzender als de ontvanger TLS gebruiken. Anders wordt de e-mail onversleuteld verzonden.
Welke poort gebruikt SMTP?
SMTP gebruikt een specifieke poort voor communicatie, namelijk poort 25. Deze poort wordt gebruikt voor het uitwisselen van e-mails tussen de server en de e-mailclient. Het wordt ook gebruikt voor het doorsturen van e-mails van de ene e-mailserver naar de andere. Dit helpt ervoor te zorgen dat e-mails succesvol worden afgeleverd, omdat het de hoeveelheid gegevens reguleert die via het netwerk wordt verzonden en het risico op verlies of beschadiging van gegevens vermindert.
SMTP-foutcodes begrijpen
Wanneer een e-mail niet succesvol is, kan er een foutcode worden teruggegeven met een specifieke betekenis. Foutcodes bestaan meestal uit drie cijfers, waarbij elk cijfer een andere betekenis heeft. Het eerste cijfer geeft aan of de e-mail is geaccepteerd of geweigerd. Het tweede en derde cijfer geven het type fout aan.
Bijvoorbeeld, als een e-mail wordt geweigerd met foutcode 451, geeft het eerste cijfer (4) aan dat de e-mail is geweigerd. Het tweede en derde cijfer (51) geven aan dat de e-mail is geweigerd omdat de server het bericht niet kan accepteren. Met andere woorden, de e-mail wordt niet geaccepteerd vanwege tijdelijke problemen.
Andere veelvoorkomende foutcodes zijn 500 en 503, wat betekent dat de e-mail niet kon worden verzonden vanwege een serverfout of een serverprobleem. 550-codes geven aan dat de mailbox van de ontvanger niet bestaat en 554-codes geven aan dat de e-mail als spam is aangemerkt.
Wat is een SMTP-envelop?
Een SMTP-envelop is een set informatie die samen met een e-mailbericht wordt verzonden, maar niet zichtbaar is voor de ontvanger. Het bevat details zoals de afzender, ontvanger en het pad dat de e-mail aflegt van afzender naar ontvanger, en wordt gebruikt om e-mailprogramma’s in staat te stellen de e-mail correct te verwerken. De envelop wordt ook gebruikt om e-mails te traceren bij vermoedens van fraude of misbruik.
Wat zijn de verschillen tussen SMTP, POP en IMAP?
SMTP is niet het enige protocol dat wereldwijd wordt gebruikt. De meeste e-mailservers en providers implementeren ook aanvullende protocollen om verschillende soorten gebruik te ondersteunen. Twee van de meest gebruikte protocollen zijn Post Office Protocol (POP) en Internet Message Access Protocol (IMAP).
Wat zijn de verschillen tussen deze drie protocollen?
- Pushing vs. Pulling: SMTP kan e-mail verzenden, ontvangen en routeren tussen servers—zelfs onbekende servers. Dit betekent dat SMTP het fundamentele protocol is dat e-mailgebruikers wereldwijd verbindt. POP en IMAP daarentegen regelen het “ophalen” van e-mails van de ene computer naar de andere. Een client die is verbonden met een server kan het SMTP-onderdeel van die server gebruiken om e-mails te verzenden en ontvangen, maar gebruikt POP (momenteel POP3) of IMAP om e-mails op te halen naar de lokale machine om ze op te slaan en te lezen.
- Downloaden vs. Synchroniseren: Een client verbinden met een server via POP betekent dat de client een enkele verbinding maakt met de server, alle beschikbare e-mails downloadt en deze lokaal op de computer van de gebruiker opslaat. IMAP doet hetzelfde, maar omdat IMAP als een clouddienst werkt, ondersteunt het synchronisatie van je serverconfiguratie over meerdere apparaten—webinterfaces, mobiele clients en computerclients. Elke wijziging op één apparaat wordt gesynchroniseerd met meerdere apparaten. Dit is tegenwoordig het meest gebruikte e-mailprotocol voor het ophalen van e-mails.
Is SMTP veilig?
SMTP is van zichzelf niet veilig, omdat het geen enkele vorm van encryptie gebruikt om gegevens tijdens verzending te beveiligen. Dit betekent dat alle gegevens die via het protocol worden verzonden, onderschept en bekeken kunnen worden door derden. Om een veilige verbinding via SMTP te realiseren, moeten extra maatregelen zoals encryptie of authenticatie worden toegepast.
Wat is een SMTP-injectieaanval?
Een SMTP-injectieaanval is een ongeoorloofde aanval op een e-mailserver met als doel de server te manipuleren om schadelijke e-mails te verzenden of toegang te krijgen tot vertrouwelijke informatie. De aanvaller injecteert kwaadaardige code in het Simple Mail Transfer Protocol (SMTP)-gesprek tussen twee mailservers om het gesprek te controleren en zo de server te manipuleren. Dit kan worden gebruikt om toegang te krijgen tot authenticatiegegevens, schadelijke e-mails te versturen en toegang te krijgen tot afgeschermde delen van de server.
Hoe maak je SMTP veilig met SSL/TLS
Om SMTP veilig te maken, kun je TLS (Transport Layer Security) gebruiken. TLS is een cryptografisch protocol dat e-mails beveiligt door ze te versleutelen wanneer ze via SMTP worden verzonden. Je kunt ook STARTTLS gebruiken, een optie binnen SMTP waarmee de server een anders onveilige verbinding kan upgraden naar een beveiligde verbinding. Daarnaast kun je een andere poort gebruiken voor beveiligde SMTP-communicatie, zoals poort 465 in plaats van poort 25. Zo worden alle e-mails veilig via de SMTP-server verzonden.
Wat zijn de voordelen en uitdagingen van het gebruik van SMTP-servers?
Net als bij elke technologie kan het gebruik van SMTP (of het inzetten van je eigen servers) uitdagingen met zich meebrengen, terwijl ze ook aanzienlijke voordelen bieden.
Enkele van de belangrijkste voordelen en uitdagingen van het gebruik of inzetten van je eigen server zijn onder andere:
- Geen volumelimieten: Door een eigen server te bezitten en te beheren, ben je niet gebonden aan beperkingen die ISP’s opleggen aan de hoeveelheid e-mail. Als je marketing of andere diensten uitvoert, kan dit je helpen je e-mailhoeveelheid beter te beheren.
- Monitoring en privacy: Je hebt zelf controle over monitoring, beveiliging en privacy. Je gegevens zijn veilig, je e-maillijsten blijven privé en je hebt meer inspraak in compliance- en beveiligingsmaatregelen.
- Kosten: Het opzetten, inzetten, beheren, monitoren en onderhouden van een server kan kostbaar zijn, vooral als je personeel moet inhuren voor het beheren van configuraties en technische problemen. Dit geldt met name als je aan compliancevereisten of beveiligingsbehoeften moet voldoen die uitgebreide technische expertise vereisen.
- Lokaal en kwetsbaar: Tenzij je back-up clouddiensten voor e-mail hebt, is je server kwetsbaar voor uitval. Stroomuitval, hacks of andere netwerkproblemen kunnen je hele e-mailsysteem platleggen.
Eigen SMTP-server draaien versus gebruikmaken van een externe e-maildienst
Slechts weinig organisaties beheren tegenwoordig nog hun eigen e-mail. Dit komt doordat externe servers enorme voordelen bieden ten opzichte van on-premises oplossingen:
- Kostenefficiënter: Beheerde servers zijn over het algemeen veel goedkoper in aanschaf en gebruik dan on-premises oplossingen. Dat komt doordat leveranciers de kosten spreiden over meerdere klanten en het beheren van toegewijde e-mailservers goedkoper maken. Bovendien hoef je geen geld uit te geven aan een toegewijd IT-team alleen voor het beheer van e-mail—een belangrijke manier om kosten te besparen in geld en arbeid.
- Beveiliging, privacy en compliance: Hoewel het misschien tegenstrijdig klinkt, zorgt het uitbesteden van je e-maildiensten aan een derde partij juist voor betere beveiligingspraktijken. Omdat deze partijen zich volledig richten op één set prioriteiten (namelijk e-mail en aanverwante technologie), is er geen probleem met gebrek aan personeel of expertise.
- Betrouwbaarheid: Systeemstoringen zijn bij een externe provider geen groot probleem. Ja, ze komen nog steeds voor, maar niet zo vaak en niet met dezelfde gevolgen. Zelfs bij storingen hebben de meeste providers back-ups en redundantie om de dienst operationeel te houden.
Het enige grote nadeel van het gebruik van een externe e-mailprovider is dat je geen controle hebt over de servers en implementatie. Dit betekent dat je mogelijk niet dezelfde configuraties, back-ups of compliancepraktijken hebt als intern.
Hoe weet ik of mijn e-mails SMTPS gebruiken?
Je kunt de beveiligingsinstellingen van je e-mailaccount of het e-mailprogramma dat je gebruikt controleren. Als je e-mails SMTPS gebruiken, wordt dit aangegeven in de beveiligingsinstellingen. Je kunt deze informatie vaak ook zien in de headers van de e-mails die je verzendt. Als je niet zeker weet of je e-mails SMTPS gebruiken, kun je advies vragen aan je e-mailprovider of systeembeheerder.
Wat is Extended SMTP (ESMTP)?
Extended SMTP (ESMTP) is een verbeterde versie van het oorspronkelijke Simple Mail Transfer Protocol (SMTP). Het is een uitbreiding van het SMTP-protocol en wordt gebruikt om het verzenden van e-mails tussen internetgebruikers en mailservers te vergemakkelijken. Het doel van ESMTP is om het aantal commando’s binnen SMTP uit te breiden, zodat een breder scala aan e-mailfuncties wordt ondersteund, waaronder authenticatie en een grotere berichtgrootte.
ESMTP verbetert de beveiliging door ondersteuning voor authenticatie toe te voegen. Hiermee kun je de afzender van een bericht identificeren en ervoor zorgen dat de verzonden berichten daadwerkelijk van de bedoelde bron afkomstig zijn. Met ESMTP kan een mailserver een bericht weigeren als de afzender niet wordt geauthenticeerd.
Dankzij de grotere ondersteuning voor berichtgroottes met ESMTP kunnen grote berichten en bijlagen worden verzonden zonder dat de server crasht. Dit vermindert de belasting van mailservers en verkleint de kans dat berichten tijdens verzending verloren gaan.
ESMTP helpt ook de betrouwbaarheid van e-mail te verbeteren door de kans op mislukte bezorging te verkleinen. Als een bericht de eerste keer niet kan worden verzonden, kunnen servers proberen het opnieuw te verzenden, zonder dat de gebruiker het bericht opnieuw hoeft te versturen.
Meer weten over SMTP?
SMTP vormt de kern van e-mailcommunicatie. Op basis van SMTP hebben engineers rich text en HTML-e-mails ontwikkeld, platformonafhankelijke e-mailtoegang voor mobiele, web- en desktopgebruikers, en zelfs de mogelijkheid om veilig media in een e-mail te integreren.
Wil je meer weten over hoe Kiteworks SMTP inzet? Plan dan een op maat gemaakte demo met ons team.