DSN: Obavijest o statusu isporuke za SMTP e-poštu

Saznajte kako DSN usmjerava uvod u status isporuke na SMTP e-poštu.

Jeste li se ikada zapitali što se dogodilo s porukom koju ste poslali?

Čak i kratak pogled na SMTP protokol ćete primijetiti da osim uobičajenog HELO-a postoji i EHLO, što produženi SMTP poslužitelj oglašava svoje mogućnosti izvan izvornog standarda. Jedan od njih je DSN. DSN? DNK i DDT nisu dovoljni?

Tvrditi da je poruka e-pošte nepouzdana, da bi netko "trebao bolje poslužiti svojim poslužiteljem, jeo moju poštu ... " nije neuobičajeno. Ja to radim sama. Ipak, nema mnogo razloga da podrže ove sumnje.

Dostupnost podataka je od RFC 821 (od 1982.). Čim završi DATA dio SMTP protokola i poslužitelj je prihvatio e-poštu za isporuku, odgovoran je za to. Ako iz bilo kojeg razloga ne može doći do primatelja, mora ga poslati obavijestom o pogrešci izvornom pošiljatelju. To je rezultiralo nekom nejasnom e-poštom .

Osim toga, ova stara konvencija značila je da imate poruku o pogrešci ili da niste dobili ništa, u kojem slučaju niste ništa znali: e-pošta možda je stigla ili možda neće. Poruke o pogreškama u mnogim slučajevima bile su jednako korisne kao i poruke o pogrešci. S porukom postaje sve važnija, to više nije zadovoljavajuće (kao da je bilo prije).

DSN ekstenzije na SMTP

RFC 1891 predlaže neka proširenja za SMTP protokol koja bi trebala rezultirati pouzdanijim i korisnijim DSN sustavom. To je skup proširenja za MAIL i RCPT naredbe (ako to ne znači ništa za vas, pročitajte kako SMTP radi, a zatim se vraćaju ovdje.).

Ne EHLO, nema zabave

Prvo, moramo osigurati da poslužitelj podržava DSN. Dakle, moramo mu reći EHLO i pažljivo slušati. Ako DSN reagira nešto na popisu značajki, možemo pretpostaviti da će moći poslužiti našim zahtjevima. Ako ne, onda ne: možemo probati drugi poslužitelj ili se jednostavno vratiti na e-poštu bez DSN-a. Na primjer (moj unos je plava, poslužitelj je izlaz crna):

220 larose.magnet.at ESMTP Sendmail 8.8.6 / 8.8.6; Ned, 24 kolovoz 1997 18:23:22 +0200
EHLO localhost
250-larose.magnet.at Poštovani localhost [127.0.0.1], drago mi je što sam vas upoznala
250 EXPN
250 GLAGOL
250-8BITMIME
250 VELIČINA
250 DSN
250 Onex
250 ETRN
250 XUSR
250 POMOĆ

Srećom, među ostalim nalazimo DSN.

DSN pošiljateljska proširenja

Sljedeća naredba obično je MAIL FROM :. S DSN-om to se ne razlikuje. No, postoje dvije dodatne opcije koje možete izdati: RET i ENVID.

Opcija RET bila je proizvoljno smještena u naredbu MAIL, no ovdje se uklapa, kao i bilo gdje drugdje. Svrha je odrediti koliko biste izvorne poruke trebali vratiti u slučaju neuspjeha isporuke. Vrijedni argumenti su FULL i HDRS. Prva znači da cjelokupna poruka treba biti uključena u poruku o pogrešci, HDRS upućuje poslužitelj da vrati zaglavlja neuspjelog pošte. Ako RET nije naveden, poslužitelju je što učiniti. U većini slučajeva HDRS će biti zadana vrijednost.

ENVID doista pripada pošiljatelju jer ona ili (radije) njezin klijent e-pošte će biti jedini koji nas tjera na ovaj identifikator omotnice . Njegova je svrha da kažem pošiljatelju koji e-poštom odgovara eventualno izdana poruka o pogrešci. Format ovog ID-a je u osnovi ostavljen mašti pošiljatelja. Nećemo upotrebljavati ENVID u našem primjeru (mašta!):

MAIL FROM: sender@example.com RET = HDRS
250 sender@example.com ... Pošiljatelj je u redu

Očigledno, samo želimo vratiti zaglavlja u naš DSN.

Proširenja primatelja DSN-a

RCPT TO: dobiva i svoj fer udio proširenja: NOTIFY i ORCPT.

NOTIFY je pravo srce DSN-a. Određuje poslužitelju kada treba poslati obavijest o statusu isporuke. Prva moguća vrijednost NEVER to znači da ni u kojem slučaju DSN mora biti vraćen pošiljatelju. To nije bilo moguće bez DSN-a. Tada postoji uspjeh, koji će vas obavijestiti kada je vaša pošta iskrivljena na odredištu. FAILURE je uspjeh SUCCESS-a (!): DSN će stići ako dođe do zauzeća tijekom isporuke. Posljednja opcija je DELAY: bit ćete obaviješteni ako dođe do neuobičajenog kašnjenja isporuke, ali stvarni ishod isporuke (uspjeh ili neuspjeh) još nije odlučen. NIKAD ne mora biti jedini argument ako je to navedeno, ostala tri mogu se pojaviti na popisu, ograničena zarezom. USPJEH i NEDOSTATAK zamijenili su prilično snažan tim zajedno (!) I govorili (gotovo) u svakom slučaju što se dogodilo vašoj pošti.

Svrha ORCPT-a je očuvanje izvornog primatelja poruke e-pošte, na primjer ako se prosljeđuje na drugu adresu. Argument ove opcije je adresa e-pošte izvornog primatelja zajedno s vrstom adrese. Najprije dolazi adresa, nakon čega slijedi točka-zarez i konačno adresa. Na primjer:

RCPT TO: support@example.com NOTIFY = POGREŠKA, DELAY ORCPT = rfc822; support@example.com
250 support@example.com ... Primatelj je u redu (čekat će red)

Slijedi DATA kao što znamo i na kraju, nadamo se, obavijest o statusu isporuke koja vas obavještava o uspjehu.

Radi li DSN?

Naravno, sva ta ljepota i pamet će raditi samo ako agenti za transport pošte od pošiljatelja do primatelja podržavaju DSN. Neki će dan.