Modul 1 · 1.1
Ett e-postmeddelandes resa
Modul 1: Hur e-post fungerar · Lästid: 9 minuter
Lärandemål: Efter den här lektionen kan du steg för steg beskriva hur ett mejl kommer fram från avsändaren till mottagaren, och vid varje steg säga vilket program eller vilken server som gör jobbet.
Nyckelbegrepp: e-postprogram (MUA), avsändningsserver (MSA, submission), mailserver (MTA), MX-post, kö, leverans (MDA), brevlåda, hämtning (IMAP/POP3), envelope, rubrikrader
E-post är post, inte ett chattmeddelande
När du skickar ett chattmeddelande går det via ett enda företag: avsändarens app och mottagarens app pratar med samma servrar. E-post fungerar annorlunda. Avsändaren och mottagaren kan sitta hos olika leverantörer: den ena hos ett webbhotell, den andra hos Gmail, en tredje hos Microsoft 365 eller på sin egen företagsserver. Ändå kommer mejlet fram. Det går eftersom alla mailservrar i världen följer samma regler.
Du kan jämföra e-post med vanlig post. Du skriver ett brev (meddelandet), lägger det i ett kuvert med en adress (envelopet), lämnar det i brevlådan (avsändningsservern), postföretaget tar reda på var adressen finns (MX-uppslagningen), transporterar brevet till rätt sorteringscentral (den mottagande mailservern) som i sin tur lägger det i mottagarens brevlåda (brevlådan). Mottagaren hämtar det där när det passar.
Stationerna i tur och ordning
Säg att Anna mejlar från anna@example.com till jan@example.net. Så här går det till:
| Steg | Vem | Vad händer | Protokoll |
|---|---|---|---|
| 1 | Annas e-postprogram (MUA, mail user agent) | Anna klickar på Skicka. Programmet loggar in hos hennes leverantörs avsändningsserver och lämnar över mejlet. | SMTP-submission, port 587 eller 465, med inloggning |
| 2 | Avsändningsserver hos example.com (MSA, mail submission agent) | Kontrollerar att Anna verkligen är Anna (användarnamn och lösenord), lägger mejlet i kön. | |
| 3 | Utgående mailserver (MTA, mail transfer agent) | Frågar DNS: vilken server tar emot mejl för example.net? Det är MX-posterna. | DNS |
| 4 | Utgående MTA till mottagande MTA | Upprättar en förbindelse med servern från MX-posten och levererar mejlet. | SMTP, port 25 |
| 5 | Mottagande server hos example.net | Kontrollerar mejlet (spam, virus, SPF, DKIM, DMARC) och lägger det i Jans brevlåda. Den sista delen kallas MDA (mail delivery agent). | |
| 6 | Jans e-postprogram eller webbmejl | Hämtar mejlet eller visar det direkt från servern. | IMAP (port 993) eller POP3 (port 995) |
Hos mindre leverantörer är MSA, MTA och MDA ofta ett och samma program på en enda server. Hos stora leverantörer är det separata kluster. För dig spelar det liten roll: det är roller, inte fysiska lådor.
Lägg märke till skillnaden mellan steg 1 och steg 4. Båda använder SMTP, Simple Mail Transfer Protocol (RFC 5321). Men i steg 1 loggar du in och använder port 587 eller 465; det kallas submission (RFC 6409). I steg 4 pratar två servrar med varandra på port 25, utan inloggning: den mottagande servern tar emot mejl för sina egna domäner från vem som helst. I lektion 1.4 ser du varför den här uppdelningen finns.
Steg 3 på nära håll: MX-uppslagningen
Den avsändande servern vet inte av sig själv var example.net tar emot sin post. Den frågar DNS:
example.net. 3600 IN MX 10 mx1.mailprovider.example.
example.net. 3600 IN MX 20 mx2.mailprovider.example.Det lägsta talet har företräde. Servern provar först mx1, och om den inte svarar mx2. Därefter slår den upp IP-adressen för det namnet (A- eller AAAA-post) och upprättar förbindelsen.
Två speciella fall du kan stöta på i praktiken:
- Ingen MX-post. Då provar avsändaren domänens egna A- eller AAAA-post (den "implicita MX:en" från RFC 5321, avsnitt 5.1). Det är en kvarleva från förr och fungerar inte tillförlitligt; varje domän som tar emot mejl bör ha en MX.
- En null MX:
0 .Det betyder: "den här domänen tar aldrig emot mejl" (RFC 7505). Domänenexample.comhar en sådan. En avsändare ger genast upp och skickar ett felmeddelande tillbaka, i stället för att fortsätta försöka i flera dagar.
Hur MX-poster och prioriteter exakt fungerar kan du läsa om i lektion 4.1 i DNS-kursen.
Kön: e-post får ta sin tid
Ett mejl kommer inte alltid fram inom en sekund. Om den mottagande servern inte svarar, eller säger "försök igen senare" (en kod som börjar med en 4), stannar mejlet i avsändningsserverns kö. Den försöker igen senare, med lite mer tid mellan varje försök. RFC 5321 (avsnitt 4.5.4.1) rekommenderar minst 30 minuter mellan försöken och att ge upp först efter 4 till 5 dagar. Många servrar skickar redan efter några timmar en varning ("delayed", ännu inte levererat) och efter några dagar det slutgiltiga felmeddelandet.
Det är en av e-postens starka sidor: om en mailserver är nere en timme går inget mejl förlorat. Det är också anledningen till att ett mejl ibland dyker upp timmar senare. I modul 6 ser du hur du känner igen en sådan fördröjning.
Envelope och rubrikrader: två adresser
Precis som med vanlig post har ett mejl två sorters adresser:
- Envelopet. Det är de adresser som servrarna använder sinsemellan i SMTP-konversationen:
MAIL FROM(envelope sender för felmeddelanden, visas senare som Return-Path) ochRCPT TO(mottagaren). Servrarna levererar utifrån envelopet. - Rubrikraderna (headers). Det är vad som står i själva brevet:
From:,To:,Cc:,Subject:,Date:. Det är dessa ditt e-postprogram visar.
Oftast är de likadana, men inte alltid. En BCC-mottagare finns med i envelopet, men inte i rubrikraderna; därför ser andra honom inte. En nyhetsbrevstjänst sätter sin egen adress som envelope sender, så att felmeddelanden hamnar hos tjänsten, medan From: visar din adress. Och en bedragare kan skriva vad som helst i From:.
Varför detta spelar roll: SPF kontrollerar envelope sender, användaren ser From:. Därför finns DMARC, som kopplar ihop dessa två (modul 4).
Var det kan gå fel
Med den här bilden klar kan du vid varje problem fråga dig: vid vilken station gick det fel?
- Det går inte att skicka (felmeddelande direkt i ditt program): steg 1 eller 2. Nästan alltid inställningar: port, inloggning, lösenord (modul 2).
- Du får en bounce tillbaka: steg 4 eller 5. Den mottagande servern avvisade mejlet, eller så finns adressen inte (modul 6).
- Mejlet kommer fram, men hamnar i skräppostmappen: steg 5. Mottagaren litar inte på mejlet (modul 4 och 5).
- Mottagaren ser ingenting, och du får inget felmeddelande: mejlet ligger kanske fortfarande i en kö, eller har filtrerats bort tyst hos mottagaren. Här hjälper loggarna på avsändningsservern (modul 6).
- Inget mejl kommer fram till din domän alls: steg 3. MX-posterna stämmer inte, till exempel efter en flytt (modul 8).
I praktiken: så ser det ut i ett webbhotellspaket
I ett webbhotellspaket hos WebOké sköter en enda server per paket alla roller: ditt e-postprogram lämnar mejlet till den servern (steg 1 och 2), servern skickar det vidare utåt (steg 3 och 4) och tar emot mejl för din domän (steg 5). I DirectAdmin kan du med E-postspårning se om ett enskilt meddelande har levererats. Hos andra leverantörer fungerar det på liknande sätt; där kan funktionen heta till exempel "meddelandespårning" eller "mail log".
Sammanfattning
- Ett mejl går från ditt e-postprogram (MUA) via avsändningsservern (MSA/MTA) till den mottagande servern (MTA/MDA) och därifrån till mottagarens e-postprogram.
- Att skicka från ditt program är SMTP-submission med inloggning (587/465); servrar pratar SMTP med varandra på port 25; hämtning sker med IMAP eller POP3.
- Den avsändande servern slår upp MX-posterna för domänen efter @-tecknet. En null MX (
0 .) betyder: den här domänen tar inte emot mejl. - Ett mejl som inte kan levereras direkt stannar i kön och försöks igen under flera dagar.
- Envelope (Return-Path) och rubrikrader (From) är två olika avsändare. SPF tittar på den första, användaren på den andra.
Quiz
Uppgift
Uppgift Z1.1: Hitta den första mailservern. Slå upp MX-posterna för gmail.com (eller för din egen domän). Fyll i vilken server som provas först, med dess prioritetssiffra, och en IP-adress (IPv4 eller IPv6) för den servern. Programmet slår upp samma uppgifter live och kontrollerar dem.
Läs mer
Stegen i de här artiklarna gäller för WebOkés paneler; hos andra leverantörer fungerar det på liknande sätt.
- Så fungerar det när e-post skickas (SMTP)
- DirectAdmin-guide 8.7: IMAP eller POP3: vad är skillnaden?
- Gratis DNS-kurs 4.1: MX-poster och prioritet
- RFC 5321 (SMTP), avsnitt 5.1 (MX och implicit MX) och 4.5.4.1 (nya försök); RFC 7505 (null MX)
