Modul 6 · 6.1
Čitanje povratne poruke (bounce)
Modul 6: Odbijene pošiljke (bounces) i rješavanje problema · Vrijeme čitanja: 11 minuta
Cilj učenja: Nakon ove lekcije moći ćete analizirati poruku o grešci o neisporučenoj pošti (bounce): koji je poslužitelj dao grešku, za koju adresu, što znači kod i je li privremeno ili trajno.
Ključni pojmovi: bounce, Mailer-Daemon, delivery status notification (DSN, RFC 3464), Reporting-MTA, Remote-MTA, Final-Recipient, Action (failed, delayed), Status, Diagnostic-Code, Will-Retry-Until, kod odgovora (RFC 5321), prošireni statusni kod X.Y.Z (RFC 3463), poruka o odgodi, backscatter
Što je bounce?
Ako mail poslužitelj ne može isporučiti poruku, šalje poruku natrag pošiljatelju. To se zove bounce (ili: non-delivery report, NDR). Dolazi od pošiljatelja poput Mailer-Daemon@..., MAILER-DAEMON ili Mail Delivery System, s naslovom poput:
Mail delivery failed: returning message to senderUndelivered Mail Returned to SenderDelivery Status Notification (Failure)Warning: message ... delayed 24 hours(ovo nije bounce nego poruka o odgodi, pogledajte dalje u tekstu)
Mnogi ljudi takvu poruku odmah obrišu ili se uplaše engleskog teksta. Šteta, jer bounce gotovo uvijek točno govori što je pošlo po zlu. Samo trebate znati gdje gledati.
Bounce uvijek ima praznu adresu pošiljatelja u omotnici (Return-Path: <>). To je namjerno: bounce na bounce bi inače mogao stvoriti beskonačnu petlju (RFC 5321).
Tko je odbio poruku?
Poruka prolazi kroz najmanje dva poslužitelja: Vašeg pružatelja usluga i onaj primatelja. Bounce može nastati u dvije situacije:
- Poslužitelj primatelja odbija poruku tijekom SMTP razgovora (lekcija 1.2), na primjer nakon
RCPT TO(nepoznata adresa) ili nakon sadržaja (spam ili DMARC). Vaš vlastiti poslužitelj prima to odbijanje i od toga za Vas izrađuje bounce. Greška tada dolazi od primatelja, a bounce od Vašeg vlastitog poslužitelja. - Vaš vlastiti poslužitelj odustaje, na primjer jer primatelj danima nije bio dostupan, ili jer ste sami dosegnuli neko ograničenje.
Razlika je važna: u prvom slučaju morate znati što se nije svidjelo primatelju, u drugom slučaju problem je bliže Vama.
Čitljivi dio
Na vrhu se nalazi tekst namijenjen ljudima. On se razlikuje ovisno o mail softveru, ali gotovo uvijek sadrži iste stvari:
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 unknownČitajte ovako:
| Dio | Što govori |
|---|---|
permanent error | Trajno: poslužitelj to više ne pokušava |
pieter.devries@example.net | Adresa za koju je pošlo po zlu (kod više primatelja: samo ova) |
host mx1.example.net [198.51.100.20] | Poslužitelj primatelja s kojim se razgovaralo |
SMTP error from remote mail server | Greška je došla od primatelja, ne od Vašeg vlastitog poslužitelja |
after RCPT TO | U kojem trenutku razgovora: ovdje kod navođenja primatelja |
550 5.1.1 ... User unknown | Kod i tekst primatelja: ova adresa ne postoji |
Dio za strojeve: DSN
Ispod teksta obično se nalazi dio namijenjen programima, delivery status notification (RFC 3464). Taj je uvijek jednako strukturiran, što ga čini lako čitljivim:
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| Polje | Značenje |
|---|---|
Reporting-MTA | Poslužitelj koji je napisao ovaj bounce (obično Vaš vlastiti poslužitelj za slanje) |
Final-Recipient | Adresa o kojoj je riječ |
Action | failed (neuspjelo, trajno), delayed (odgođeno, još se pokušava), ponekad delivered ili relayed |
Status | Prošireni statusni kod, pogledajte dolje |
Remote-MTA | Poslužitelj na drugoj strani koji je dao odgovor |
Diagnostic-Code | Doslovni odgovor tog poslužitelja: ovdje se nalazi pravi razlog |
Will-Retry-Until | Kod delayed: do kada će poslužitelj nastaviti pokušavati |
Posve na dnu nalazi se izvorna poruka ili samo njezina zaglavlja. Tamo vidite o kojoj je poruci riječ, te koja je adresa pošiljatelja i koji Return-Path korišteni. To je ponekad ključ za rješenje (pogledajte DMARC slučaj u zadatku).
Čitanje kodova
Postoje dvije vrste kodova, i obično se oba nalaze u bounce poruci.
Kod odgovora (RFC 5321): tri znamenke, poput 550 ili 451. Prva znamenka je najvažnija:
| Počinje s | Značenje | Što radi poslužitelj za slanje |
|---|---|---|
2 | Uspjelo | Ništa više, poruka je prihvaćena |
4 | Privremena greška | Čuva poruku i kasnije ponovno pokušava |
5 | Trajna greška | Odustaje i šalje bounce |
Prošireni statusni kod (RFC 3463): tri broja odvojena točkama, poput 5.1.1 ili 4.7.500. Prvi broj je ponovno 2, 4 ili 5. Drugi broj govori gdje je problem:
| Drugi broj | Tema | Primjeri |
|---|---|---|
X.1 | Adresa | 5.1.1 adresa ne postoji, 5.1.2 domena ne postoji |
X.2 | Mailbox | 5.2.2 / 4.2.2 mailbox puna, 5.2.1 mailbox onemogućena |
X.3 | Mail sustav | 5.3.4 poruka prevelika |
X.4 | Mreža i ruta | 4.4.1 nema odgovora, 4.4.7 predugo u redu čekanja, 5.4.4 nema rute |
X.5 | Protokol | 5.5.1 nevažeća naredba |
X.6 | Sadržaj | 5.6.0 problem sa sadržajem ili kodiranjem |
X.7 | Security i pravila | 5.7.1 odbijeno, 5.7.26 nije autenticirano (Gmail), 5.7.509 DMARC (Microsoft) |
Treći broj je precizan razlog. Veliki primatelji za to koriste vlastite brojeve, poput Gmaila s 5.7.25 do 5.7.30 i Microsofta s 4.7.500 i 5.7.509. Ti su navedeni u njihovoj vlastitoj dokumentaciji (lekcija 6.2).
Praktično pravilo: kod koji počinje s 5 i ima 7 u sredini (5.7.x) gotovo je uvijek pitanje pravila: autentifikacija, reputacija ili spam. Tu ponovno slanje ne pomaže; nešto se mora promijeniti.
Odgođeno još nije neuspjelo
Kod privremene greške (4xx) Vaš poslužitelj čuva poruku i ponovno je pokušava poslati. RFC 5321 preporučuje da se to pokušava barem četiri do pet dana, s barem pola sata između pokušaja. Mnogi poslužitelji nakon nekoliko sati ili nakon dana šalju poruku o odgodi:
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 +0100To znači: ne šaljite ponovno, poslužitelj sam još pokušava. Ako ipak pošaljete ponovno, primatelj bi je uskoro mogao dobiti dvaput. Ako na kraju ne uspije prije Will-Retry-Until, ipak stiže pravi bounce, često s 4.4.7 (poruka istekla u redu čekanja).
Lažni bounceovi: backscatter
Dobivate li odjednom desetke bounceova za poruke koje nikad niste poslali? Pogledajte u izvornoj poruci na dnu. Ako se tamo nalazi pošiljatelj s Vaše domene, ali poslužitelj i tekst koje ne prepoznajete, spamer je koristio Vašu adresu kao pošiljatelja. Primatelji svoje bounceove šalju Vama. To se zove backscatter.
Vaša mailbox tada obično nije hakirana (pogledajte lekciju 3.4 za razliku). Što pomaže: DMARC pravilo koje postupno postaje strože (lekcija 4.4), tako da primatelji odbijaju krivotvorenu poštu prije nego što nastane bounce. Ipak provjerite poslanu poštu i kod svog pružatelja usluga je li doista ništa poslano iz Vaše mailbox.
U praksi: ovako to izgleda
Kod WebOké, osim bouncea, u E-mail Tracking u DirectAdminu vidite i što je poslužitelj učinio s porukom: Delivered, Deferred ili Fail, s odgovorom poslužitelja primatelja. Drugi paneli često imaju sličan mail log ili "trag poruke"; kod Microsoft 365 to se naziva na primjer praćenje poruka (message tracing). Korisno je prvo pogledati tamo ako nemate bounce, ili ako netko kaže da Vaša poruka nije stigla.
Sažetak
- Bounce dolazi od Mailer-Daemon i ima prazan Return-Path. Pročitajte ga, gotovo uvijek precizno govori što je pošlo po zlu.
- Prvo pogledajte tko je dao grešku (
SMTP error from remote mail server= primatelj) i za koju adresu. - U dijelu za strojeve:
Action,Status,Remote-MTAi prije svegaDiagnostic-Code. - Prva znamenka: 4 = privremeno, 5 = trajno. Drugi broj: 1 adresa, 2 mailbox, 3 sustav, 4 ruta, 5 protokol, 6 sadržaj, 7 pravila.
- Poruka o odgodi (
delayed): ne šaljite ponovno. Bounceovi za poruke koje niste poslali: backscatter.
Kviz
Zadatak
Zadatak Z6.1: Analiza tri povratne poruke (bounce). Dobivate tri primjera bouncea (bounce-1.txt, bounce-2.txt i bounce-3.txt). Za svaki bounce popunite: adresu za koju je pošlo po zlu, poslužitelj koji je dao grešku (Remote-MTA), statusni kod, je li privremeno ili trajno, te što pošiljatelj treba učiniti (odaberite s popisa). Program provjerava rezultate pomoću fiksnog ključa i daje objašnjenje za svako polje.
Dalje čitajte
Koraci u ovim člancima vrijede za panele WebOké; kod drugih pružatelja usluga postupak je sličan.
- Mail delivery failed: kako pročitati poruku o pogrešci i što kodovi znače
- Poruka o pogrešci: 550 5.5.0 Requested action not taken: mailbox unavailable
- Provjera je li e-pošta stigla pomoću funkcije Email Tracking u DirectAdminu
- DirectAdmin priručnik 9.3: E-mail Tracking: gdje je nestala moja pošta?
- RFC 3464 (struktura DSN-a), RFC 3463 (prošireni statusni kodovi), RFC 5321 odjeljak 4.2 (kodovi odgovora) i 4.5.4.1 (ponovni pokušaj)
