DSN: Ferstjoerstatus notifikaasje foar SMTP-eamel

Besykje hoe't DSN stribbe hat om levertostatus yn te foegjen nei SMTP-e-mail.

Hasto Wondered Wat Happen by in e-mail Jo Ferstjoerd?

Ek gewoan in koarte sjoch op it SMTP-protokol sil jo bepaald hawwe dat, neist de gewoane HELO, ek is EHLO, wêrtroch de Extended SMTP-tsjinner har funksjes makket foar de oarspronklike standert. Ien fan dy is DSN. DSN? Binne DNA en DDT net genôch?

Om te argumearjen dat e-mail is ûnbetrouber, dan moat dat ien fan 'e " feiligens fan' e server better, it ite myn post ... " is net ûngewoan. Ik meitsje it sels. Dochs is der net folle reden om dizze fertochten te stypjen.

Ferfier S tatus N- oatifikaasje is al sûnt RFC 821 (fan 1982 ôf). Sawol it DATA diel fan it SMTP- protokol is foltôge en de tsjinner hat de e-post akkount oannommen dat it ferantwurdlik is. As, fan elke reden, it it net kinne troch de ûntfanger te krijen, moat it it werombringe mei de melding fan de flater nei de orizjinele stjoerder. Dit soarge foar inkele obskure e-post .

Dêrnei betsjutte dit âlde gearkomste dat jo in flater berjocht hawwe of jo hawwe neat nommen yn hokker gefal jo neat witte : de e-post kin oankommen wêze of it kin net. De flater berjochten yn in protte gefallen wie krekt sa help as gjin flater berjochten. Mei e-post wurdt hieltyd wichtiger dat dit net mear befredigjend is (sa as it foarhinne is).

DSN-útwreidings nei SMTP

RFC 1891 stelt in tal útwreidingen foar it SMTP- protokol dat ta in resultaat fan in betrouwberere en brûkersferwiderjende DSN-systeem soe. It is in set fan útwreidingen foar de MAIL- en RCPT-kommando's (as dit neat foar jo is, lêze hoe SMTP wurket en dêrnei weromkommt).

Gjin EHLO, gjin wille

Earst moatte wy derfoar soargje dat de server DSN stipet. Sa moatte wy him foar him sizze en harkje nei harkje. As it mei DSN wat reagearret yn 'e funksje list, kinne wy ​​der fan útnimme dat it kin ús oanfragen tsjinje. As net, dan net: wy kinne in oare server probearje of gewoanwei werom nei e-post sûnder DSN. Bygelyks (myn ynfier blau, de útfier fan de server swart):

220 larose.magnet.at ESMTP Sendmail 8.8.6 / 8.8.6; Sun, 24 Aug 1997 18:23:22 +0200
EHLO localhost
250-larose.magnet.at Hello localhost [127.0.0.1], bliid om jo te treffen
250-EXPN
250-VERB
250-8BITMIME
250-SIZE
250-DSN
250-ONEX
250-ETRN
250-XUSR
250 HELP

Glankens, ûnder oaren fine wy ​​DSN.

DSN-sesje-útwreidings

It kommende kommando is typysk is MAIL FROM :. Mei DSN is dit net oars. Mar der binne twa ekstra opsjes dy't jo ûntfange kinne: RET en ENVID.

De RET-opsje wie earder arbitrêr yn it MAIL kommando pleatst, mar it past pas as it dan earne oars. It doel is om te bepalen hoefolle fan jo oarspronklike berjocht weromjûn wurde moat as gefolch fan in leveringsferskes. Geleidige arguminten binne FULL en HDRS. De eardere betsjut dat it folsleine berjocht yn it flater berjocht opnommen wurde moat HDRS de tsjinner ynsteld om allinich de kopteksten fan 'e mislearre post werom te jaan. As RET net bepaald is, dan is it op 'e tsjinner wat te dwaan. Yn 'e measte gefallen sil HDRS de standertwearde wêze.

ENVID heart echt oan 'e sender as se of (earder) har e-post kliïnte is de iennichste dy't ús fan dizze omkaai-identifier makket . It doel is om de ôfstjoerder te fertellen dy't e-post in mislearre fereaske berjocht befettet. It formaat fan dizze ID is basearre oer de fantasy fan 'e sender. Wy brûke gjin ENVID yn ús foarbyld (fantasy!):

MAIL FROM: sender@example.com RET = HDRS
250 sender@example.com ... Sender ok

Misledigjend wolle wy allinich de kopteksten werom krije yn ús DSN.

DSN-ûntfanger-útwikselingen

De RCPT TO: krijt ek in geweldige diel fan útwreidingen: NOTIFY en ORCPT.

NOTIFY is it echte hert fan DSN. It fertelt de server wannear't jo in fertragstatusferkiezing stjoere. De earste mooglike wearde is NEVER dat betsjut dat ûnder gjin gegeven is in DSN weromjûn nei de ôfstjoerder. Dit wie net mooglik sûn DSN. Dêrnei is der SUCCESS, dy sil jo melden as jo berjocht op syn bestimming ferwiderje. FAILURE is lid fan 'e gearkomste (!): In DSN sil komme as in arrest op' e levering opnommen is. De lêste opsje is DELAY: jo wurde oanjûn as der in ungewoan ferwachting is yn levering, mar it realisearjen fan 'e levering (súkses of mislearre) is noch net besletten. NEVER moat it iennige argumint wêze as it oantsjutte, de oare trije kinne ferskine yn in list dy't troch in komma begrepen is. SUCCESS en FAILURE meitsje opnommen foar in aardich sterke ploech byinoar (!), Ferteld jo yn (hast) elk gefal wat bard is mei jo post.

It doel fan ORCPT is om de orizjinele ûntfanger fan in e-berjocht te preservear, bygelyks as it nei in oar adres trochstjoerd wurdt. It argumint foar dizze opsje is it e-postadres fan 'e orizjinele ûntfanger, tegearre mei it adrestype. It adrestype komt earst, folge troch in semykolon en úteinlik itadres. Bygelyks:

RCPT TO: support@example.com NOTIFY = FAILURE, DELAY ORCPT = rfc822; support@example.com
250 support@example.com ... Empfänger ok (sil wachtrige)

Dit is folge troch de DATA as wy it witte en úteinlik, hooplik, in leveringsstatus-notifikaasje dy't jo fan in sukses befynt.

Is DSN wurkje?

Fansels sil allegear dit skientme en wyt allinich wurkje as de postferfieragenten fan sender nei ûntfanger fan DSN stypje. Guon deis wolle se.