Modul 6 · 6.1
En bounce lest
Modul 6: Bounces og feilsøking · Lesetid: 11 minutter
Læringsmål: Etter denne leksjonen kan du analysere en feilmelding om en e-post som ikke ble levert (en bounce): hvilken server ga feilen, for hvilken adresse, hva koden betyr, og om det er midlertidig eller definitivt.
Nøkkelbegreper: bounce, Mailer-Daemon, delivery status notification (DSN, RFC 3464), Reporting-MTA, Remote-MTA, Final-Recipient, Action (failed, delayed), Status, Diagnostic-Code, Will-Retry-Until, svarkode (RFC 5321), utvidet statuskode X.Y.Z (RFC 3463), utsettelsesmelding, backscatter
Hva er en bounce?
Hvis en mailserver ikke kan levere en e-post, sender den en melding tilbake til avsenderen. Dette kalles en bounce (eller: non-delivery report, NDR). Den kommer fra en avsender som Mailer-Daemon@..., MAILER-DAEMON eller Mail Delivery System, med et emne som:
Mail delivery failed: returning message to senderUndelivered Mail Returned to SenderDelivery Status Notification (Failure)Warning: message ... delayed 24 hours(dette er ikke en bounce, men en utsettelsesmelding, se nedenfor)
Mange kaster en slik melding med en gang, eller blir skremt av den engelske teksten. Synd, for en bounce forteller nesten alltid nøyaktig hva som er galt. Du må bare vite hvor du skal se.
En bounce har alltid en tom envelope sender (Return-Path: <>). Det er bevisst: en bounce på en bounce kunne ellers gitt en endeløs løkke (RFC 5321).
Hvem avviste e-posten?
En e-post går via minst to servere: din egen leverandørs og mottakerens. En bounce kan oppstå i to situasjoner:
- Mottakerserveren avviser e-posten under SMTP-samtalen (leksjon 1.2), for eksempel etter
RCPT TO(adressen er ukjent) eller etter innholdet (spam eller DMARC). Din egen server mottar det avslaget og lager en bounce av det for deg. Feilen kommer da fra mottakeren, bouncen fra din egen server. - Din egen server gir opp, for eksempel fordi mottakeren ikke var tilgjengelig på flere dager, eller fordi du selv har nådd en grense.
Skillet er viktig: i det første tilfellet må du finne ut hva mottakeren ikke likte, i det andre tilfellet ligger problemet nærmere deg selv.
Den lesbare delen
Øverst står en tekst for mennesker. Den varierer etter mailprogramvare, men inneholder nesten alltid de samme tingene:
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 unknownSlik leser du den:
| Del | Hva den sier |
|---|---|
permanent error | Definitivt: serveren prøver ikke på nytt |
pieter.devries@example.net | Adressen det gikk galt for (ved flere mottakere: bare denne) |
host mx1.example.net [198.51.100.20] | Mottakerens server som det ble snakket med |
SMTP error from remote mail server | Feilen kom fra mottakeren, ikke fra din egen server |
after RCPT TO | På hvilket tidspunkt i samtalen: her ved oppgivelse av mottakeren |
550 5.1.1 ... User unknown | Koden og teksten fra mottakeren: denne adressen finnes ikke |
Maskindelen: DSN-en
Under teksten står det vanligvis en del for programmer, delivery status notification (RFC 3464). Den er alltid bygget opp på samme måte, noe som gjør den enkel å lese:
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| Felt | Betydning |
|---|---|
Reporting-MTA | Serveren som skrev denne bouncen (vanligvis din egen utsendingsserver) |
Final-Recipient | Adressen det gjelder |
Action | failed (mislyktes, definitivt), delayed (utsatt, blir fortsatt forsøkt), noen ganger delivered eller relayed |
Status | Den utvidede statuskoden, se nedenfor |
Remote-MTA | Serveren på den andre siden som ga svaret |
Diagnostic-Code | Det bokstavelige svaret fra den serveren: her står den egentlige årsaken |
Will-Retry-Until | Ved delayed: til når serveren fortsetter å prøve |
Helt nederst står den originale e-posten eller bare headerne. Der ser du hvilken e-post det var, og hvilken avsenderadresse og hvilken Return-Path som ble brukt. Det er noen ganger nøkkelen til løsningen (se DMARC-casen i oppgaven).
Å lese kodene
Det finnes to typer koder, og vanligvis står begge i en bounce.
Svarkoden (RFC 5321): tre sifre, som 550 eller 451. Det første sifferet er det viktigste:
| Begynner med | Betydning | Hva utsendingsserveren gjør |
|---|---|---|
2 | Vellykket | Ingenting mer, e-posten er mottatt |
4 | Midlertidig feil | Lagrer e-posten og prøver igjen senere |
5 | Definitiv feil | Gir opp og sender en bounce |
Den utvidede statuskoden (RFC 3463): tre tall med punktum, som 5.1.1 eller 4.7.500. Det første tallet er igjen 2, 4 eller 5. Det andre tallet sier hvor problemet ligger:
| Andre tall | Tema | Eksempler |
|---|---|---|
X.1 | Adresse | 5.1.1 adressen finnes ikke, 5.1.2 domenet finnes ikke |
X.2 | Mailbox | 5.2.2 / 4.2.2 mailboksen er full, 5.2.1 mailboksen er deaktivert |
X.3 | Mailsystem | 5.3.4 meldingen er for stor |
X.4 | Nettverk og rute | 4.4.1 intet svar, 4.4.7 for lenge i køen, 5.4.4 ingen rute |
X.5 | Protokoll | 5.5.1 ugyldig kommando |
X.6 | Innhold | 5.6.0 problem med innhold eller koding |
X.7 | Sikkerhet og retningslinjer | 5.7.1 avvist, 5.7.26 ikke autentisert (Gmail), 5.7.509 DMARC (Microsoft) |
Det tredje tallet er den presise årsaken. Store mottakere bruker sine egne nummer til dette, som Gmail med 5.7.25 til 5.7.30 og Microsoft med 4.7.500 og 5.7.509. Disse står i deres egen dokumentasjon (leksjon 6.2).
Tommelfingerregel: koden som begynner med 5 og har 7 i midten (5.7.x) er nesten alltid en retningslinjesak: autentisering, omdømme eller spam. Der hjelper det ikke å sende på nytt; du må endre noe.
Utsatt er ikke det samme som mislyktes
Ved en midlertidig feil (4xx) lagrer serveren din e-posten og prøver igjen. RFC 5321 anbefaler å holde ut i minst fire til fem dager, med minst en halvtime mellom hvert forsøk. Mange servere sender en utsettelsesmelding etter noen timer eller en dag:
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 +0100Dette betyr: ikke send på nytt, serveren prøver selv videre. Sender du likevel på nytt, kan mottakeren få den to ganger. Lykkes det til slutt ikke før Will-Retry-Until, kommer det likevel en ekte bounce, ofte med 4.4.7 (meldingen utløp i køen).
Falske bounces: backscatter
Får du plutselig titalls bounces for e-post du aldri har sendt? Se da i den originale e-posten nederst. Står det en avsender fra ditt domene der, men en server og tekst du ikke kjenner igjen, har en spammer brukt din adresse som avsender. Mottakerne sender sine bounces til deg. Dette kalles backscatter.
Mailboksen din er da som regel ikke hacket (se leksjon 3.4 for forskjellen). Det som hjelper: et DMARC-regelverk som gradvis blir strengere (leksjon 4.4), slik at mottakere avviser forfalsket e-post før en bounce oppstår. Sjekk likevel i sendte e-poster og hos leverandøren din om det virkelig ikke er sendt noe fra mailboksen din.
I praksis: slik ser det ut
Hos WebOké ser du i tillegg til bouncen også i E-mail Tracking i DirectAdmin hva serveren gjorde med en melding: Delivered, Deferred eller Fail, med svaret fra mottakerserveren. Andre paneler har ofte en lignende maillogg eller "meldingsspor"; hos Microsoft 365 heter det for eksempel meldingssporing. Det er lurt å sjekke der først hvis du ikke har en bounce, eller hvis noen sier at e-posten din ikke kom frem.
Oppsummering
- En bounce kommer fra Mailer-Daemon og har en tom Return-Path. Les den, den forteller som regel nøyaktig hva som er galt.
- Se først hvem som ga feilen (
SMTP error from remote mail server= mottakeren) og for hvilken adresse. - I maskindelen:
Action,Status,Remote-MTAog særligDiagnostic-Code. - Første siffer: 4 = midlertidig, 5 = definitivt. Andre tall: 1 adresse, 2 mailbox, 3 system, 4 rute, 5 protokoll, 6 innhold, 7 retningslinjer.
- Utsettelsesmelding (
delayed): ikke send på nytt. Bounces for e-post du ikke sendte: backscatter.
Quiz
Oppgave
Oppgave Z6.1: Analyser tre bounces. Du får tre eksempelbounces (bounce-1.txt, bounce-2.txt og bounce-3.txt). Fyll inn per bounce: adressen det gikk galt for, serveren som ga feilen (Remote-MTA), statuskoden, om det er midlertidig eller definitivt, og hva avsenderen bør gjøre (velg fra en liste). Programmet sjekker med en fast fasit og gir forklaring per felt.
Les mer
Stegene i disse artiklene gjelder for panelene til WebOké; hos andre leverandører fungerer det på lignende måte.
- Mail delivery failed: slik leser du feilmeldingen og hva kodene betyr
- Feilmelding: 550 5.5.0 Requested action not taken: mailbox unavailable
- Kontrollere om e-post har kommet frem med e-postsporing i DirectAdmin
- DirectAdmin-veiledning 9.3: E-mail Tracking: hvor ble det av e-posten min?
- RFC 3464 (oppbygningen av en DSN), RFC 3463 (utvidede statuskoder), RFC 5321 avsnitt 4.2 (svarkoder) og 4.5.4.1 (nye forsøk)
