ZMailer raportit selitettynä; Suomeksi

Olette tätä lukemassa todennäköisesti siksi, että saitte sähköpostissa kirjeen joka alkaa näin:

This is a collection of reports about email delivery
process concerning a message you originated.

Some explanations/translations for these reports
can be found at:
      http://www.zmailer.org/delivery-report-decoding.html

ZMailer postivälitysohjelmisto tuottaa käsittelemilleen sanomille joissakin tilanteissa erilaisia raportteja, jotka se lähettää sanoman lähettäneeseen osoitteeseen.

Ajoittain tätä ohjelmistoa käyttävien järjestelmien ylläpidoille tulee kysymyksiä teemalla: "Mitä tämä tarkoittaa kielellä XYZ?"

Valitettavasti alkuperäistä Internetin postijärjestelmää luotaessa[1][2] maailma oli selkeästi vain amerikkalainen ja englanninkielinen. Niinpä silloin kielikysymyksiin ei varsinaisesti kiinnitetty huomiota.

Nyttemmin käytännössä on nähty, etteivät juuri ketkään (edes englanninkieliset ihmiset) yleensä ymmärrä, miksi jokin sanoma ei mene perille (tai että se on mennyt perille.) Tai että mitä ihmettä postia välittävät ohjelmistot koettavat kertoa sanoman lähettäneelle siitä sanomasta oudolla tekno-kielellään.

Raporttisanomat ovat rakenteisia sanomia[5], jonka osat ovat:

  1. Saate-teksti
  2. Muodollinen osa
  3. Alkuperäisen sanoman otsikot, tai otsikot ja sisältö

Rakenteen tarkoituksena on ollut tukea postikäyttöliittymiä siten, että ne voivat esittää muodollisen osan sisällön käyttäjän haluamalla kielellä.[3]

Mikäili postikäyttöliittymänne ei tähän kykene, Teidän on aika kysyä sen valmistajalta, milloin siitä saa version joka kykenee.

Osoitekohtaisesti nämä raportit ovat neljää tyyppiä:

FAILED
Sanoman toimitus perille ei onnistunut jostain syystä

DELIVERED
Sanoman toimitus perille onnistui (ja sen lähettäjä oli pyytänyt tiedon onnistuneesta toimituksesta vastaanottajalle.

Tämä ei tarkoita että vastaanottaja olisi lukenut sanomaa!)

RELAYED
Sanoma on toimitettu eteenpäin järjestelmälle, joka itse ei kykene tuottamaan lähettäjän pyytämää positiivista toimituskuittausta (s.o. tämän kohdeosoitteen osalta ette tule saamaan DELIVERED kuittausta! Muita raportteja saattaa kyllä tulla.)

DELAYED
Sanomaa ei vielä ole saatu toimitettua perille, vaan se on jonossa raportin lähettävässä systeemissä.


Esimerkki 1:

To:     sender@domain
From:   The Post Office <postmaster@local.server>
Subject: Delivery reports about your email [FAILED(1)]
Date:   Wed, 1 Mar 2000 15:20:53 +0200

[-- Liite #1 --]
[-- Tyyppi: text/plain, Koodaus: 7bit, Koko: 1.7K --]

This is a collection of reports about email delivery
process concerning a message you originated.

Some explanations/translations for these reports
can be found at:
      http://www.zmailer.org/reports.html

FAILED:
  <smtp some.server.dom user.name@some.server.dom 99>: ...\
        expired after 3 days, problem was:
        smtp; 500 (connect to some.server.dom [11.22.33.44|25|55.66.77.88|1879]: Connection refused)


FAILED:
  <smtp other.server.dom user@other.server.dom 60000>: ...\            
        <<- RCPT To:<user@other.server.dom> ORCPT=rfc822;user@other.server.dom
        ->> 550 <user@other.server.dom>... Relaying denied

FAILED:
  <smtp other.server.dom user@other.server.dom 60000>: ...\            
        <<- RCPT To:<user@other.server.dom> ORCPT=rfc822;user@other.server.dom
        ->> 552 <user@other.server.dom>... Unknown User

[ Poistettu toisen ja kolmannen liitteen kopiot tästä tekstinäytteestä. ]


[-- Liite #2 --]
[-- Type: message/delivery-status, Koodaus: 7bit, Koko: 0.5K --]

Reporting-MTA: dns; local.server
Arrival-Date: Wed, 1 Mar 2000 15:19:53 +0200
Local-Spool-ID: S92519AbQCANTx

Original-Recipient: rfc822;user.name@some.server.dom
Final-Recipient: RFC822;user.name@some.server.dom
Action: failed
Status: 5.4.1 (TCP/IP-connection failure)
Diagnostic-Code: smtp; 500 (connect to some.server.dom [11.22.33.44|25|55.66.77.88|1879]: Connection refused)
Remote-MTA: dns; somemx.server.dom (11.22.33.44|25|55.66.77.88|1879)
Last-Attempt-Date: Wed, 1 Mar 2000 15:20:53 +0200

Original-Recipient: rfc822;user@other.server.dom
Final-Recipient: RFC822;user@other.server.dom
Action: failed
Status: 5.1.1 (bad destination mailbox)
Diagnostic-Code: smtp; 550 (<user@other.server.dom>... Relaying denied)
Remote-MTA: dns; mx.third.dom (22.33.44.55|25|55.66.77.88|2345)
Last-Attempt-Date: Wed, 1 Mar 2000 15:20:53 +0200

Original-Recipient: rfc822;user@other.server.dom
Final-Recipient: RFC822;user@other.server.dom
Action: failed
Status: 5.1.1 (bad destination mailbox)
Diagnostic-Code: smtp; 550 (<user@other.server.dom>... Unknown User)
Remote-MTA: dns; mx.third.dom (22.33.44.55|25|55.66.77.88|2345)
Last-Attempt-Date: Wed, 1 Mar 2000 15:20:53 +0200

[-- Liite #3 --]
[-- Tyyppi: message/rfc822, Koodaus: 7bit, Koko: 0.2K --]

From:   Sender <sender@domain>
To:     user.name@some.server.dom
Cc:     user@other.server.dom
Subject: demo
Date:   Wed, 1 Mar 2000 15:19:53 +0200

demo


Selitykset 1: RFC 1894 Muodollisen osan kentät

Reporting-MTA:
Tunnistaa mikä palvelin tarkkaan ottaen tuotti tämän raportin. Kyseessä saattaa olla esimerkiksi klusterin komponentti, jolloin tämä osatieto pitää olla tarjolla jotta ongelmien ratkaisussa löydetään oikea järjestelmä.

Arrival-Date:
Raportoitavan sanoman saapumisaika järjestelmään.

Local-Spool-ID:
Järjestelmän sisäinen yksilöintitieto raportoitavalle sanomalle. Järjestelmäylläpitäjä tarvitsee tätä poimiakseen järjestelmälogeista tähän sanomaan liittyviä merkintöjä.

Original-Recipient:
Postikuljetusprotokollan (SMTP) ``Delivery Status Notification'' (DSN) alijärjestelmän ORCPT parametri, tai sen puutteessa, raportoivalle sanomavälitysjärjestelmälle annettu alkuperäinen osoite ennen kuin sitä on muokattu järjestelmän sisällä mitenkään.

Final-Recipient:
Osoite siinä muodossa, kuin järjestelmä koetti sitä käsitellä.

Joissakin tilanteissa tämä voi olla huomattavasti erilainen, kuin alkuperäinen osoite -- siksi tuo ``Original-Recipient:''

Action:
Yksi seuraavista: DELIVERED/DELAYED/RELAYED/FAILED

Suomeksi suunnilleen: Toimitettu / Viivästynyt / Välitetty / Epäonnistunut

Kertoo mitä sanomalle on tapahtunut:

FAILED
Sanoman toimitus perille ei onnistunut jostain syystä

DELIVERED
Sanoman toimitus perille onnistui (ja sen lähettäjä oli pyytänyt tiedon onnistuneesta toimituksesta vastaanottajalle.

Tämä ei tarkoita että vastaanottaja olisi lukenut sanomaa!)

RELAYED
Sanoma on toimitettu eteenpäin järjestelmälle, joka itse ei kykene tuottamaan lähettäjän pyytämää positiivista toimituskuittausta (s.o. tämän kohdeosoitteen osalta ette tule saamaan DELIVERED kuittausta! Muita raportteja saattaa kyllä tulla.)

DELAYED
Sanomaa ei vielä ole saatu toimitettua perille, vaan se on jonossa raportin lähettävässä systeemissä.

Status:
Numeerinen ``laajennettu tilakoodi'', jota luokittelee hieman tarkemmin, mitä viestin käsittelyssä tapahtui.

Käyttäjän postikäyttöliittymäohjelman (ns. ``MUA'') pitäisi käyttää tätä koodia kertoakseen käyttäjän haluamalla kielellä, mistä oikein on kyse.

Diagnostic-Code:
Mahdollinen etäjärjestelmän tuottama karkeampi (vanhempi) koodi ja siihen liittyvä tekstisanoma koskien viestin/osoitteen kohtelua.

Remote-MTA:
Esiintyessään kertoo minkä etäjärjestelmän kanssa tehdyn protokollavaihdon seurauksena yllä mainitut ``Diagnostic-Code:'' tekstit saatiin.

Last-Attempt-Date:
Viimeisin ajankohta jolta vastaanottajaosoitteeseen liittyvä raportti on peräisin.

Mikäili raportissa on ``Action: DELAYED'', muita raportteja saattaa vielä tulla.


Selitykset 2: Oheistekstejä joita eri järjestelmät tapaavat antaa

User Unknown:
Unknown User:
No Such User:
Bad User:
Mailbox unavailable:
Vaihtelevia tapoja sanoa, että vaikka vastaanottava systeemi pitää osoitteen domain-osaa (@-merkin oikea puoli) paikallisena, mutta että se ei tunnista osoitteen paikallista osaa (@-merkin vasenta puolta) kuuluvaksi kenellekään systeemin käyttäjälle.

Connection Refused:
Connection Timed Out:
Yhteyttä kohdedomainia palvelevaan palvelimeen (mihinkään niistä, mikäili ne on määritelty oikein) ei ole onnistuttu saavuttamaan jonkin ajan kuluessa -- tyypillisesti 3-5 vuorokaudessa.

Relaying Denied:
This target address is not our MX service client:
You are not allowed to send to this address:
invalid address
... we do not relay
sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1)
Postireititykseen kohdedomainille on määritelty mahdollisesti useampia laitteita ja sanomaa on koetettu kuljettaa sellaisen järjestelmän kautta, jolle ei ole kerrottu, että sen kautta saisi kuljettaa postia kohdedomainiin.

Kyseessä on konfigurointivirhe jossakin, joko kohdedomainin nimipalveludatassa, tai sähköpostin välityspalvelimessa.


Selitykset 3: Numeeristen ``Status:'' koodien teoria

Nämä numeeriset koodit on määritelty dokumentissa RFC 1893 [4].

Kuten mikään koodijoukko, nämäkään eivät ole täydellisiä kaikkiin käyttöihin, mutta ainakin nämä ovat paremmat kuin alkuperäinen SMTP[1] koodisto, jolla oli vain pari erilaista virhetilanteista kertovaa koodia.

Koodit näyttävät seuraavan kaltaisilta:

  2.2.0
  4.5.3
  5.7.1

Yllä on siis kolme desimaalinumeroa joilla on pisteet väleissään.

Ensimmäinen koodinumero:

Tämä antaa karkean jaottelun koodille:

2.x.x
Onnistuminen

Onnistuminen kertoo että sanoma on välitetty onnistuneesti eteenpäin, mahdollisesti lopulliseen osoitteeseensa asti. Yksityiskohtaisempaa tietoa saa tutkimalla alikoodeja.

4.x.x
Tilapäinen toimitusvaikeus

Sanoman välitys ei ole onnistunut jonkin sellaisen syyn/tapahtuman takia, mitä pidetään todennäköisesti tilapäisenä. Sanoman välitys voi onnistua tulevaisuudessa.

5.x.x
Pysyvä virhe, toimitus mahdoton

"Pysyvä virhe" tarkoittaa tilanteita, joissa järjestelmän mielestä ei voida saavuttaa onnistunutta sanoman välitystä ilman että sanomaa muutetaan jotenkin. (Esimerkiksi osoitteessa on vikaa!)

Keskimmäinen koodinumero:

x.0.x
Muu, tai määrittelemätön tila

Tämä voi tarkoittaa mitä tahansa, jota ei ole onnistuttu luokittelemaan muihin koodeihin.

x.1.x
Osoite tila

"Osoite tila" kertoo lähettäjän tai vastaanottajan osoitteeseen liittyviä asioita. Se voi tarkoittaa syntaksia tai muuta kelvollisuutta.

Yleisesti lähettäjän pitää korjata osoite ja lähettää sanoma uudelleen.

x.2.x
Postilaatikon tila

"Postilaatikon tila" kertoo tavallisesti sanoman vastaanottajan postilaatikosta -- sellaisen olemassaolosta tai puutteesta.

Mikäili kyseessä on virhe, lähettäjän pitänee korjata osoitteeseen päässyt kirjoitusvirhe.

x.3.x
Postijärjestelmän tila

Tämä on yleiskoodisto postivälitysjärjestelmä koskeville sanomille.

x.4.x
Verkkoyhteys ja reititys tila

Nämä koodit kertovat välitysjärjestelmästä itsestään, tai sen sen kokemista asioista erilaisissa tietokannoissa.

x.5.x
Postin kuljetusprotokollan tila

Postin kuljetusprotokollan tilakoodit kertovat laajasta joukosta ongelmia sanoman siirron aikana. Nämä sisältävät monenlaisia ongelmia jotka johtuvat järjestelmien toteutusten ongelmista, yhteysongelmista, jne.

Osapuolia tässä ongelmaviidakossa on todella paljon.

x.6.x
Sanoman sisältö, tai media tila

Nämä liittyvät sanoman sisällön välittämiseen mahdollisesti tarvittavien käännösten tai muunnosten tekemiseen, sekä mahdollisiin ongelmiin tunnistamattomien lähdemuotojen käsittelyssä.

Sanoman sisältö ja media asiat ovat ongelma-alue jossa molempien, sekä lähettäjän että vastaanottajan, tulee käyttää yhteensopivia sisältötyyppejä.

x.7.x
Salaus-, Turvallisuus-, tai menettelytapatila

Näillä kerrotaan turvallisuus ja menettelytapa-asioihin liittyvistä vastaanottajakohtaisista tai järjestelmäkohtaisista suodatus ja kryptografia asioista.

Tavallisin näistä "5.7.1" joka viittaa yllä kerrottavaan sanoman välittämisestä kieltäytymiseen.

Kolmas koodinumero:

Kolmas koodinumero (x.x.N) riippuu täydellisesti keskimmäisestä koodinumerosta. Näiden luettelo on pitkä, eikä sitä siksi ole haluttu ottaa tähän dokumenttiin.

Englanniksi: See part 3 of RFC 1893 [4] for full details.


Viitteet:

[1] RFC 821
Simple Mail Transfer Protocol (SMTP). Elokuu 1982.

[2] RFC 822
Standard for the Format of ARPA Internet Text Messages. Elokuu 1982.

[3] Kuulopuheita
Erilaisten arvioiden mukaan maailman kielten määrä on jotain välillä 6 - 12 tuhatta. Kansainvälisillä standardeilla on listattu koodinimikkeitä joillekin sadoille kielille, mikä kielitieteilijöille on riittämätön, mutta käytännössä kattaa luokkaa 99% maailman väestöstä.

Minkään yksittäisen ohjelmoijan(tiimin) ei voine olettaa kykenevän tuottavan kielellisesti oikein tehtyjä virheraportteja kaikilla kielillä, varsinkaan kun protokollat eivät yleensä ala sanoman lähettäjän kaipaaman virheilmoituskielen määrityksellä.

[4] RFC 1893
Enchanced Mail System Status Codes, Tammikuu 1996.

[5] RFC 1894
An Extensible Message Format for Delivery Status Notifications, Tammikuu 1996.