## E-mail

E-mail is één van de oudste toepassingen van het internet. E-mail biedt de asynchrone aflevering van berichten.
Je kunt dit beschouwen als de elektronische vorm van de traditionele post of als een vorm van pakketcommunicatie op het niveau van de toepassing.
Er is geen sprake van een verbinding tussen zender en ontvanger.
Een gevolg hiervan is dat deze niet noodzakelijk op hetzelfde moment aan het internet verbonden zijn.
Zoals we zullen zien heeft dit gevolgen voor de opzet van het e-mailsysteem.
We beginnen aan de kant van de ontvanger. Een complicatie bij het afleveren van e-mail is dat het niet gegarandeerd is dat de ontvanger op elk moment aan het internet verbonden is.
Daarom wordt een oplossing gebruikt die te vergelijken is met de postbus voor de traditionele brievenpost.
Het e-mail bericht wordt afgeleverd bij een computer die (vrijwel) altijd in het internet verbonden is: de "post office" server.
De ontvanger controleert regelmatig, via het post-office protocol (POP) van zijn e-mail programma, of er berichten voor hem aangekomen zijn.
Als dat het geval is, worden deze via dit protocol naar de computer van de ontvanger gekopieerd.
De ontvanger kan vervolgens via een e-mail programma op zijn computer deze berichten lezen.
Het POP-protocol is een "pull" protocol: het initiatief ligt bij de ontvanger van de berichten.
Tegenwoordig wordt in plaats van het POP-protocol ook wel een ander protocol gebruikt: IMAP.
Ook daarbij is het principe dat de ontvanger bij de inkomende-post-server controleert of er nog berichten klaar staan.

Bij het verzenden van e-mail is de situatie enigszins verschillend.
In elk geval is de computer van de afzender op het moment van verzenden verbonden met het internet.
Het mail-programma verstuurt de berichten naar de uitgaande-post-server van de afzender, via het SMTP (Simple Mail Transfer Protocol) protocol.
Deze server buffert deze berichten en zet deze in de rij om ze naar de inkomende-post-server van de ontvanger te sturen.
Zoals je uit deze figuur ziet heb je als gebruiker te maken met twee soorten mailservers:
een server voor de binnenkomende berichten ("post office", POP-server, of IMAP-server) en een server voor de uitgaande berichten (SMTP-server). In de praktijk worden deze servers soms gecombineerd op één computer.

Bij het versturen van post wordt gebruik gemaakt van het Domain Name System, om te bepalen wat de inkomende-postserver voor een bepaald domein is.

Er wordt gebruik gemaakt van een server voor de uitgaande post, omdat het niet gegarandeerd is dat een bericht op elk moment afgeleverd kan worden.
Deze server zal, als het niet direct lukt, meerdere malen proberen om dit bericht te versturen.
Als het na meerdere pogingen niet lukt, krijgt de afzender daarvan een bericht.
De afzender hoeft maar een korte tijd aan het internet verbonden te zijn, voldoende om de uitgaande berichten naar deze server te kopiëren.

Het protocol om berichten van de afzender naar de server te kopiëren en om dit vervolgens naar de volgende server(s) te verzenden, is het SMTP protocol.
Dit is één van de oudste protocollen van het internet.

Het POP-protocol is veel recenter. In de begintijd van het internet was de ontvangende server meestal een "time sharing" computer met een groot aantal gelijktijdige gebruikers.
Een gebruiker las zijn e-mail via een programma op deze computer, een "e-mail reader".
Webmail
Het is tegenwoordig vaak ook mogelijk om e-mail te lezen en te versturen via het web. In dat geval is bevat de webserver de e-mailcliënt. Omdat deze webserver altijd verbonden is met het internet, kan deze ook gecombineerd worden met de servers voor uitgaande en voor binnenkomende e-mail. Voor de gebruiker gebeurt dit achter de schermen.
Het onderliggende protocol

Secure Sockets Layer (SSL) en Transport Layer Security (TLS) zijn encryptie-protocollen die communicatie op het Internet beveiligen. Een voorbeeld van de toepassing van deze protocollen is HTTPS, bijvoorbeeld ter beveiliging van creditcardgegevens.

De SMTP- en POP-protocollen maken voor het uitwisselen van berichten gebruik van betrouwbare verbindingen tussen de verschillende computers. Voor deze betrouwbare verbindingen wordt TCP gebruikt of als beveiliging van belang is TLS (vroeger SSL genoemd).
Veel e-mail wordt tegenwoordig nog onbeveiligd over het internet verstuurd.
MIME
Het komt vaak voor dat in een e-mail bericht een document bijgesloten wordt.
Om ervoor te zorgen dat de ontvanger weet hoe de betreffende reeks bits geïnterpreteerd moet worden, is de beschrijving en de representatie van deze documenten gestandaardiseerd in de vorm van de MIME typering.
De ontvanger kan op basis van deze MIME-typering bepalen welke programma's deze reeks bits kan interpreteren.
Merk op dat je in het geval van communicatie een dergelijke afspraak nodig hebt, omdat het operating system van de afzender kan verschillen van dat van de ontvanger.
Je hebt een afspraak nodig die onafhankelijk is van de gebruikte operating systems.
Deze MIME-typering wordt tegenwoordig niet alleen voor e-mail gebruikt, maar bijvoorbeeld ook in het HTTP-protocol voor het web.