Modul 6 · 6.1
Läsa en bounce
Modul 6: Bounces och felsökning · Lästid: 11 minuter
Lärandemål: Efter den här lektionen kan du analysera ett felmeddelande om ett mejl som inte levererades (en bounce): vilken server som gav felet, för vilken adress, vad koden betyder, och om det är tillfälligt eller permanent.
Nyckelbegrepp: bounce, Mailer-Daemon, delivery status notification (DSN, RFC 3464), Reporting-MTA, Remote-MTA, Final-Recipient, Action (failed, delayed), Status, Diagnostic-Code, Will-Retry-Until, svarskod (RFC 5321), utökad statuskod X.Y.Z (RFC 3463), fördröjningsmeddelande, backscatter
Vad är en bounce?
Om en mailserver inte kan leverera ett mejl skickar den ett meddelande tillbaka till avsändaren. Det kallas en bounce (eller: non-delivery report, NDR). Det kommer från en avsändare som Mailer-Daemon@..., MAILER-DAEMON eller Mail Delivery System, med ett ämne som:
Mail delivery failed: returning message to senderUndelivered Mail Returned to SenderDelivery Status Notification (Failure)Warning: message ... delayed 24 hours(detta är ingen bounce utan ett fördröjningsmeddelande, se längre ner)
Många slänger genast ett sådant meddelande, eller blir skrämda av den engelska texten. Synd, för en bounce berättar nästan alltid exakt vad som är fel. Du behöver bara veta var du ska titta.
En bounce har alltid en tom envelope sender (envelope-avsändare) (Return-Path: <>). Det är medvetet: en bounce på en bounce skulle annars kunna skapa en oändlig loop (RFC 5321).
Vem nekade mejlet?
Ett mejl passerar minst två servrar: din leverantörs och mottagarens. En bounce kan uppstå i två situationer:
- Den mottagande servern nekar mejlet under SMTP-samtalet (lektion 1.2), till exempel efter
RCPT TO(adressen är okänd) eller efter innehållet (spam eller DMARC). Din egen server får den nekningen och skapar en bounce åt dig. Felet kommer då från mottagaren, bouncen från din egen server. - Din egen server ger upp, till exempel för att mottagaren inte var nåbar under flera dagar, eller för att du själv har nått en gräns.
Skillnaden är viktig: i det första fallet måste du veta vad mottagaren inte gillade, i det andra fallet ligger problemet närmare dig själv.
Den läsbara delen
Högst upp finns en text för människor. Den varierar beroende på mailprogramvara, men innehåller nästan alltid samma saker:
A message that you sent could not be delivered to one or more of its
recipients. This is a permanent error. The following address(es) failed:
pieter.devries@example.net
host mx1.example.net [198.51.100.20]
SMTP error from remote mail server after RCPT TO:<pieter.devries@example.net>:
550 5.1.1 <pieter.devries@example.net>: Recipient address rejected: User unknownLäs det så här:
| Del | Vad den säger |
|---|---|
permanent error | Permanent: servern försöker inte igen |
pieter.devries@example.net | Adressen det gick fel för (vid flera mottagare: bara denna) |
host mx1.example.net [198.51.100.20] | Mottagarens server som kontaktades |
SMTP error from remote mail server | Felet kom från mottagaren, inte från din egen server |
after RCPT TO | Vid vilket ögonblick i samtalet: här vid angivandet av mottagaren |
550 5.1.1 ... User unknown | Koden och texten från mottagaren: den här adressen finns inte |
Maskindelen: DSN:en
Under texten finns oftast en del för program, delivery status notification (RFC 3464). Den är alltid uppbyggd på samma sätt, vilket gör den lätt att läsa:
Reporting-MTA: dns; mail.hosting.example
Action: failed
Final-Recipient: rfc822;pieter.devries@example.net
Status: 5.1.1
Remote-MTA: dns; mx1.example.net
Diagnostic-Code: smtp; 550 5.1.1 <pieter.devries@example.net>: Recipient address rejected: User unknown| Fält | Betydelse |
|---|---|
Reporting-MTA | Servern som skrev denna bounce (oftast din egen avsändningsserver) |
Final-Recipient | Adressen det gäller |
Action | failed (misslyckad, permanent), delayed (fördröjd, försöks fortfarande), ibland delivered eller relayed |
Status | Den utökade statuskoden, se nedan |
Remote-MTA | Servern på andra sidan som gav svaret |
Diagnostic-Code | Det bokstavliga svaret från den servern: här står den verkliga orsaken |
Will-Retry-Until | Vid delayed: till när servern fortsätter försöka |
Längst ner finns det ursprungliga mejlet eller bara dess rubrikrader. Där ser du vilket mejl det var, och vilken avsändaradress och vilken Return-Path som användes. Det är ibland nyckeln till lösningen (se DMARC-fallet i uppgiften).
Läsa koderna
Det finns två sorters koder, och oftast finns båda i en bounce.
Svarskoden (RFC 5321): tre siffror, som 550 eller 451. Den första siffran är den viktigaste:
| Börjar med | Betydelse | Vad den sändande servern gör |
|---|---|---|
2 | Lyckades | Inget mer, mejlet har tagits emot |
4 | Tillfälligt fel | Sparar mejlet och försöker igen senare |
5 | Permanent fel | Ger upp och skickar en bounce |
Den utökade statuskoden (RFC 3463): tre tal med punkter, som 5.1.1 eller 4.7.500. Det första talet är återigen 2, 4 eller 5. Det andra talet säger var problemet sitter:
| Andra talet | Ämne | Exempel |
|---|---|---|
X.1 | Adress | 5.1.1 adressen finns inte, 5.1.2 domänen finns inte |
X.2 | Brevlåda | 5.2.2 / 4.2.2 brevlådan full, 5.2.1 brevlådan avstängd |
X.3 | Mailsystem | 5.3.4 meddelandet för stort |
X.4 | Nätverk och väg | 4.4.1 inget svar, 4.4.7 för länge i kön, 5.4.4 ingen väg |
X.5 | Protokoll | 5.5.1 ogiltigt kommando |
X.6 | Innehåll | 5.6.0 problem med innehållet eller kodningen |
X.7 | Säkerhet och policy | 5.7.1 nekad, 5.7.26 inte autentiserad (Gmail), 5.7.509 DMARC (Microsoft) |
Det tredje talet är den exakta orsaken. Stora mottagare använder sina egna nummer för det, som Gmail med 5.7.25 till 5.7.30 och Microsoft med 4.7.500 och 5.7.509. De står i deras egen dokumentation (lektion 6.2).
Tumregel: koden med en 5 i början och en 7 i mitten (5.7.x) är nästan alltid en policyfråga: autentisering, rykte eller spam. Då hjälper det inte att skicka igen; något måste ändras.
Fördröjd är inte samma sak som misslyckad
Vid ett tillfälligt fel (4xx) sparar din server mejlet och försöker igen. RFC 5321 rekommenderar att hålla på i minst fyra till fem dagar, med minst en halvtimme mellan försöken. Många servrar skickar efter några timmar eller efter en dag ett fördröjningsmeddelande:
Action: delayed
Status: 4.7.500
Diagnostic-Code: smtp; 451 4.7.500 Server busy. Please try again later from [203.0.113.25].
Will-Retry-Until: Thu, 12 Nov 2026 08:58:40 +0100Det betyder: skicka inte igen, servern försöker själv fortfarande. Skickar du ändå igen kan mottagaren få det dubbelt. Lyckas det till slut inte före Will-Retry-Until, kommer ändå en riktig bounce, ofta med 4.4.7 (meddelandet utgånget i kön).
Falska bounces: backscatter
Får du plötsligt dussintals bounces för mejl du aldrig har skickat? Titta då i det ursprungliga mejlet längst ner. Står det en avsändare från din domän där, men en server och text du inte känner igen, har en spammare använt din adress som avsändare. Mottagarna skickar sina bounces till dig. Det kallas backscatter.
Din brevlåda är då oftast inte hackad (se lektion 3.4 för skillnaden). Vad som hjälper: en DMARC-policy som blir strängare steg för steg (lektion 4.4), så att mottagare nekar förfalskade mejl innan en bounce uppstår. Kolla ändå i dina skickade mejl och hos din leverantör om verkligen inget har skickats från din brevlåda.
I praktiken: så här ser det ut
Hos WebOké ser du förutom bouncen även i E-postspårning i DirectAdmin vad servern gjorde med ett meddelande: Levererad, Uppskjuten eller Neka, med svaret från den mottagande servern. Andra paneler har ofta en liknande mail-logg eller "meddelandespår"; hos Microsoft 365 heter det till exempel meddelandespårning. Det är bra att titta där först om du inte har någon bounce, eller om någon säger att ditt mejl inte kom fram.
Sammanfattning
- En bounce kommer från Mailer-Daemon och har en tom Return-Path. Läs den, den berättar oftast exakt vad som är fel.
- Titta först på vem som gav felet (
SMTP error from remote mail server= mottagaren) och för vilken adress. - I maskindelen:
Action,Status,Remote-MTAoch framför alltDiagnostic-Code. - Första siffran: 4 = tillfälligt, 5 = permanent. Andra talet: 1 adress, 2 brevlåda, 3 system, 4 väg, 5 protokoll, 6 innehåll, 7 policy.
- Fördröjningsmeddelande (
delayed): skicka inte igen. Bounces för mejl du inte skickade: backscatter.
Quiz
Uppgift
Uppgift Z6.1: Analysera tre bounce-meddelanden. Du får tre exempelbounces (bounce-1.txt, bounce-2.txt och bounce-3.txt). Fyll i för varje bounce: adressen det gick fel för, servern som gav felet (Remote-MTA), statuskoden, om det är tillfälligt eller permanent, och vad avsändaren bör göra (välj från en lista). Programmet kontrollerar med en fast facit och ger förklaring per fält.
Läs mer
Stegen i dessa artiklar gäller för WebOkés paneler; hos andra leverantörer fungerar det på liknande sätt.
- Mail delivery failed: så läser du felmeddelandet och vad koderna betyder
- Felmeddelande: 550 5.5.0 Requested action not taken: mailbox unavailable
- Kontrollera om e-post har kommit fram med e-postspårning i DirectAdmin
- DirectAdmin-guide 9.3: E-postspårning: vart tog mitt mejl vägen?
- RFC 3464 (uppbyggnaden av en DSN), RFC 3463 (utökade statuskoder), RFC 5321 avsnitt 4.2 (svarskoder) och 4.5.4.1 (att försöka igen)
