6. modulis · 6.1
Bounce ziņojuma lasīšana
6. modulis: Kļūdu paziņojumi un problēmu risināšana · Lasīšanas laiks: 11 minūtes
Mācīšanās mērķis: Pēc šīs nodarbības Jūs varēsiet izanalizēt kļūdas paziņojumu par nepiegādātu e-pastu (atlēciena jeb bounce ziņojumu): kurš serveris devis kļūdu, kādam adresātam, ko nozīmē kods, un vai kļūda ir pagaidu vai galīga.
Pamatjēdzieni: bounce, Mailer-Daemon, delivery status notification (DSN, RFC 3464), Reporting-MTA, Remote-MTA, Final-Recipient, Action (failed, delayed), Status, Diagnostic-Code, Will-Retry-Until, atbildes kods (RFC 5321), paplašinātais statusa kods X.Y.Z (RFC 3463), aizkavēšanās paziņojums, backscatter
Kas ir bounce?
Ja pasta serveris nevar piegādāt e-pastu, tas nosūta ziņojumu atpakaļ sūtītājam. To sauc par bounce (vai: non-delivery report, NDR). Tas nāk no sūtītāja, piemēram, Mailer-Daemon@..., MAILER-DAEMON vai Mail Delivery System, ar tēmu, piemēram:
Mail delivery failed: returning message to senderUndelivered Mail Returned to SenderDelivery Status Notification (Failure)Warning: message ... delayed 24 hours(šis nav bounce, bet aizkavēšanās paziņojums, skatiet tālāk)
Daudzi cilvēki šādu ziņojumu uzreiz izmet, vai arī izbīstas no angļu valodas teksta. Žēl, jo bounce gandrīz vienmēr precīzi pasaka, kas ir nepareizi. Jums tikai jāzina, kur skatīties.
Bounce vienmēr ir tukšs envelope sūtītājs (envelope sender, Return-Path: <>). Tas ir apzināti: bounce uz bounce citādi varētu radīt bezgalīgu ciklu (RFC 5321).
Kurš noraidīja e-pastu?
E-pasts iet garām vismaz diviem serveriem: Jūsu pakalpojumu sniedzēja un adresāta serverim. Bounce var rasties divās situācijās:
- Saņemošais serveris noraida e-pastu SMTP sesijas laikā (nodarbība 1.2), piemēram, pēc
RCPT TO(adrese nezināma) vai pēc satura (surogātpasts vai DMARC). Jūsu pašu serveris saņem šo noraidījumu un izveido no tā bounce ziņojumu Jums. Šajā gadījumā kļūda nāk no adresāta, bet bounce no Jūsu pašu servera. - Jūsu pašu serveris padodas, piemēram, tāpēc, ka adresāts vairākas dienas nav bijis sasniedzams, vai tāpēc, ka Jūs pats esat sasniedzis kādu limitu.
Šī atšķirība ir svarīga: pirmajā gadījumā Jums jāzina, kas adresātam nepatika, otrajā gadījumā problēma ir tuvāk Jums pašam.
Lasāmā daļa
Augšpusē ir teksts cilvēkiem. Tas atšķiras atkarībā no pasta programmatūras, bet gandrīz vienmēr satur tās pašas lietas:
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 unknownLasiet to šādi:
| Daļa | Ko tā nozīmē |
|---|---|
permanent error | Galīga kļūda: serveris vairs nemēģinās vēlreiz |
pieter.devries@example.net | Adrese, kurai radās kļūda (ja adresātu vairāk: tikai šī) |
host mx1.example.net [198.51.100.20] | Adresāta serveris, ar kuru notika saruna |
SMTP error from remote mail server | Kļūda nāca no adresāta, nevis no Jūsu paša servera |
after RCPT TO | Kurā sarunas brīdī: šeit adresāta norādīšanas brīdī |
550 5.1.1 ... User unknown | Adresāta kods un teksts: šī adrese neeksistē |
Mašīnlasāmā daļa: DSN
Zem teksta parasti ir daļa programmām, delivery status notification (RFC 3464). Tā struktūra vienmēr ir vienāda, kas padara to viegli lasāmu:
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| Lauks | Nozīme |
|---|---|
Reporting-MTA | Serveris, kas uzrakstīja šo bounce (parasti Jūsu pašu nosūtīšanas serveris) |
Final-Recipient | Adrese, par kuru ir runa |
Action | failed (neizdevās, galīgi), delayed (aizkavēts, vēl tiek mēģināts), dažreiz delivered vai relayed |
Status | Paplašinātais statusa kods, skatiet zemāk |
Remote-MTA | Otras puses serveris, kas deva atbildi |
Diagnostic-Code | Burtiskā šī servera atbilde: šeit ir īstais iemesls |
Will-Retry-Until | Pie delayed: līdz kuram brīdim serveris turpinās mēģināt |
Pavisam apakšā ir oriģinālais e-pasts vai tikai tā galvenes rindas. Tur Jūs redzēsiet, kurš e-pasts tas bija, un kāda sūtītāja adrese un Return-Path tika izmantoti. Tas dažreiz ir atslēga risinājumam (skatiet DMARC gadījumu uzdevumā).
Kodu lasīšana
Ir divu veidu kodi, un parasti bounce ziņojumā ir abi.
Atbildes kods (RFC 5321): trīs cipari, piemēram, 550 vai 451. Pirmais cipars ir vissvarīgākais:
| Sākas ar | Nozīme | Ko dara nosūtošais serveris |
|---|---|---|
2 | Izdevās | Nekas vairāk, e-pasts pieņemts |
4 | Pagaidu kļūda | Saglabā e-pastu un vēlāk mēģina vēlreiz |
5 | Galīga kļūda | Padodas un nosūta bounce |
Paplašinātais statusa kods (RFC 3463): trīs skaitļi ar punktiem, piemēram, 5.1.1 vai 4.7.500. Pirmais skaitlis atkal ir 2, 4 vai 5. Otrais skaitlis norāda, kur ir problēma:
| Otrais skaitlis | Temats | Piemēri |
|---|---|---|
X.1 | Adrese | 5.1.1 adrese neeksistē, 5.1.2 domēns neeksistē |
X.2 | Mailbox | 5.2.2 / 4.2.2 mailbox pilna, 5.2.1 mailbox deaktivizēta |
X.3 | Pasta sistēma | 5.3.4 ziņojums pārāk liels |
X.4 | Tīkls un maršruts | 4.4.1 nav atbildes, 4.4.7 pārāk ilgi rindā, 5.4.4 nav maršruta |
X.5 | Protokols | 5.5.1 nederīga komanda |
X.6 | Saturs | 5.6.0 problēma ar saturu vai kodējumu |
X.7 | Security un politika | 5.7.1 noraidīts, 5.7.26 nav autentificēts (Gmail), 5.7.509 DMARC (Microsoft) |
Trešais skaitlis ir precīzais iemesls. Lielie adresāti tam izmanto savus numurus, piemēram, Gmail ar 5.7.25 līdz 5.7.30 un Microsoft ar 4.7.500 un 5.7.509. Tie ir atrodami to pašu dokumentācijā (nodarbība 6.2).
Pamatlikums: kods, kas sākas ar 5 un vidū ir 7 (5.7.x), gandrīz vienmēr ir politikas jautājums: autentifikācija, reputācija vai surogātpasts. Tur atkārtota nosūtīšana nepalīdz; kaut kam jāmainās.
Aizkavēts vēl nav neizdevies
Pagaidu kļūdas (4xx) gadījumā Jūsu serveris saglabā e-pastu un mēģina vēlreiz. RFC 5321 iesaka to turpināt vismaz četras līdz piecas dienas, ar vismaz pusstundu starp mēģinājumiem. Daudzi serveri pēc dažām stundām vai pēc dienas nosūta aizkavēšanās paziņojumu:
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 +0100Tas nozīmē: nesūtiet vēlreiz, serveris pats vēl mēģina. Ja tomēr nosūtāt vēlreiz, adresāts to, iespējams, vēlāk saņems divreiz. Ja galu galā neizdodas pirms Will-Retry-Until, tad vienalga ienāks īsts bounce, bieži ar 4.4.7 (ziņojums beidzies rindā).
Viltus bounce: backscatter
Vai pēkšņi saņemat desmitiem bounce ziņojumu par e-pastiem, ko nekad neesat sūtījis? Tad paskatieties oriģinālajā e-pastā apakšā. Ja tur ir Jūsu domēna sūtītāja adrese, bet serveris un teksts, ko nepazīstat, tad kāds surogātpasta sūtītājs ir izmantojis Jūsu adresi kā sūtītāju. Adresāti savus bounce ziņojumus sūta Jums. To sauc par backscatter.
Jūsu pastkaste parasti nav uzlauzta (skatiet nodarbību 3.4 par atšķirību). Kas palīdz: DMARC politika, kas pakāpeniski kļūst stingrāka (nodarbība 4.4), lai adresāti noraidītu viltotu e-pastu, pirms rodas bounce. Tomēr pārbaudiet savā nosūtīto e-pastu mapē un pie sava pakalpojumu sniedzēja, vai tiešām no Jūsu pastkastes nekas nav nosūtīts.
Praksē: tā tas izskatās
WebOké pie bounce Jūs redzēsiet arī sadaļā E-mail Tracking DirectAdmin, ko serveris ar ziņojumu darījis: Piegādāts, Deferred vai Fail, ar saņemošā servera atbildi. Citos paneļos bieži ir līdzīgs pasta žurnāls jeb "ziņojuma izsekošana"; Microsoft 365 to, piemēram, sauc par message trace. Ir lietderīgi vispirms paskatīties tur, ja Jums nav bounce ziņojuma, vai ja kāds saka, ka Jūsu e-pasts nav pienācis.
Kopsavilkums
- Bounce nāk no Mailer-Daemon un tam ir tukšs Return-Path. Izlasiet to, tas gandrīz vienmēr precīzi pasaka, kas nepareizi.
- Vispirms paskatieties, kurš deva kļūdu (
SMTP error from remote mail server= adresāts) un kādai adresei. - Mašīnlasāmajā daļā:
Action,Status,Remote-MTAun galvenokārtDiagnostic-Code. - Pirmais cipars: 4 = pagaidu, 5 = galīgs. Otrais skaitlis: 1 adrese, 2 mailbox, 3 sistēma, 4 maršruts, 5 protokols, 6 saturs, 7 politika.
- Aizkavēšanās paziņojums (
delayed): nesūtiet vēlreiz. Bounce ziņojumi par e-pastiem, ko neesat sūtījis: backscatter.
Tests
Uzdevums
Uzdevums Z6.1: Trīs atlēcienu paziņojumu (bounce) analīze. Jūs saņemsiet trīs piemēra bounce ziņojumus (bounce-1.txt, bounce-2.txt un bounce-3.txt). Par katru bounce aizpildiet: adresi, kurai radās kļūda, serveri, kas deva kļūdu (Remote-MTA), statusa kodu, vai tas ir pagaidu vai galīgs, un ko sūtītājam jādara (izvēlieties no saraksta). Programma pārbaudīs ar fiksētu atslēgu un sniegs skaidrojumu par katru lauku.
Papildu lasāmviela
Šajos rakstos aprakstītās darbības attiecas uz WebOké paneļiem; pie citiem pakalpojumu sniedzējiem tas darbojas līdzīgi.
- Mail delivery failed: kā izlasīt kļūdas paziņojumu un ko nozīmē kodi
- Kļūdas ziņojums: 550 5.5.0 Requested action not taken: mailbox unavailable
- Pārbaude, vai e-pasts ir piegādāts, ar Email Tracking DirectAdmin
- DirectAdmin rokasgrāmata 9.3: E-mail Tracking: kur palikusi mana vēstule?
- RFC 3464 (DSN struktūra), RFC 3463 (paplašinātie statusa kodi) un RFC 5321 4.2. punkts (atbildes kodi) un 4.5.4.1. punkts (atkārtota mēģināšana)
