Root » Servers » Mail servers » Afgelegde weg
Afgelegde weg
van een mailbericht
You've got mail!
Het is zeker de moeite van de weg te analyseren dat door een mailbericht afgelegd wordt. Het mailverkeer is één van de oudste internet-protocollen. Alle unix implementaties beschikten trouwens over een 'sendmail' en een mailreader, en dit voordat het internet een feit was. Ahh, UUCP! Fidonet! FrontDoor! Dat waren nog es tijden!

Aan de originele mail-implementatie is er niet veel veranderd, misschien is het verdwijnen van de bang-paths het vermelden waard. Vroeger moest je de weg aanduiden dat je mail moest volgen om zijn bestemming te bereiken aan de hand van een "route" of bang-path. Iedere server op de route werd gescheiden door een "!", vandaar de naam bang path. Tegenwoordig gebruikt men MX records voor het bepalen van de server van de bestemmeling, maar dat is materie voor later.

Terminologie

Zonder geleerde woorden geraakt men nergens, en dit is hier ook van toepassing.
  • Een client vraagt een dienst aan. Dit kan het versturen van een bericht of het lezen van de mailbox zijn.
  • Een server luistert naar aanvragen en geeft (eventueel) een antwoord.
SMTP Simple Mail Transfer Protocol
Dit is de "taal" die gebruikt wordt voor het versturen van mails. Je hebt dus SMTP clients (die een mail te versturen hebben) en SMTP servers (die de mail ontvangen en verwerken).
POP Post Office Protocol
De taal die gebruikt wordt om je mails binnen te halen van je account bij je provider. Hier heb je dus ook een POP client (die de mails opvraagt) en POP server (de postbusdienst waar je berichten bewaard worden totdat je ze ophaalt).
Het moet duidelijk zijn dat server en client niets te maken hebben met de richting van de mails: een SMTP server ontvangt mails (INPUT), een POP server deelt de ontvangen mails uit (OUTPUT).

Werking

Outlook Express, Pegasus mail, Thunderbird zijn mail clients. Ze hebben zowel een SMTP client aan boord voor de uitgaande mails als een POP client om de mails die bij de provider bewaard zijn op te vragen. Wij, IT mensen die meer dan 3500€ per maand verdienen gebruiken daarvoor de naam UA (User Agent). Het zegt lekker niets en het klinkt ingewikkeld.

Uitgaande mails

Je mail client maakt verbinding met de SMTP server van de provider om uitgaande mails te verdelen. Deze server zal controleren of je wel mails màg versturen (doorgaans door te kijken naar je IP adres: zit je bij Telenet, dan zal de SMTP server van Telenet je mail aanvaarden. Probeer je echter je mail via de server van Skynet te versturen, dan zal dit niet lukken). Deze eerste server wordt vaak SMTP relay genoemd: zijn funktie is enkel de mails te aanvaarden en door te geven.

Je bericht, indien die aanvaard wordt, wordt doorgespeeld aan een tweede programma, dat nu als client optreed om je mail verder te verdelen. Eerst wordt het adres van de bestemmeling bekeken. Mijn volledig email adres is marc@verfaillie.be. Het domeingedeelte is verfaillie.be. De SMTP client van de provider gaat nu via DNS uitzoeken naar welke server de mail verstuurd moet worden. De MX record wordt eerst gebruikt verfaillie.be MX 10:mail.verfaillie.be. De mailserver voor verfaillie.be is mail.verfaillie.be. Dit is de eerste stap. De tweede stap is mail.verfaillie.be om te zetten naar een IP adres (het internet werkt enkel met IP adressen). mail.verfaillie.be A 81.246.107.150.

Een korte uitleg over de verschillende DNS records is hier te vinden. MX staat voor Mail eXchanger (IT mensen krijgen een levenslange extra toelage van 1.75€ per maand per geleerd woord dat ze uit hun mouw schudden). Een MX is niets anders dan een specifieke MTA. En MTA (Mail transfer Agent) is gewoon de naam dat nerds aan een mail server geven.

Waarom wordt er niet direkt gewerkt met een IP en moet men via een naam gaan bij de MX record? Dit is gewoon historisch gegroeid: het was een gemakkelijke manier om van mailserver te wisselen zonder alle MX records voor alle domeinen te moeten aanpassen. Een mailserver (mail.provider.be) kan bijvoorbeeld honderden domeinen herbergen. Als men een nieuwe server plaatst, dan hoeft men enkel de A record te wijzigen van mail.provider.be (zodat ie naar de juiste server wijst), niet alle honderd MX records.

De "10:" dateert ook uit de koude oorlog: het is mogelijk meerdere servers aan te geven. Als er geen verbinding gemaakt kan worden met de eerste server, wordt de tweede geprobeerd, enz, totdat de lijst ten einde is (en dan probeert de smtp client opnieuw, en dit gedurende een drietal dagen).

Binnenkomende mails

Je mails komen binnen op de SMTP server van de provider. Deze server wordt aangeduid als de ontvangende server voor je domein; alle mails voor dat domein komen op die server terecht. Berichten die niet voor één van de aangewezen domeinen bedoelt zijn worden niet aanvaard. Berichten die voor een niet-bestaande mailbox bestemd zijn worden eveneens geweerd.

De mails worden in een mailbox bewaard totdat je die opvraagt. Dan verdwijnen ze van de mailbox. Bij de meeste providers is je mailbox beperkt tot een 50-tal MB. Ontvang je vaak grote bestanden, dan kan het gebeuren dat de server bijkomende mails weigert. Het feit dat de mails uit de mailbox gehaald worden (en dat je dezelfde mails niet kunt synchroniseren over verschillende PC's) is het zwakke punt van het POP systeem.

De weg dat door een bericht afgelegd werd kan je traceren aan de hand van de headers van een mailbericht. Maar dat is stuff voor een volgende hoofdstuk. Slaap wel.

Publicités - Reklame

-