DSN: SMTP электрондық поштасы үшін жеткізу мәртебесі туралы хабарландыру

DSN компаниясы SMTP электрондық поштасына жеткізу мәртебесін енгізуді қалай мақсат еткенін біліңіз.

Сіз жіберген электрондық поштаға не болды екен?

SMTP протоколына қысқаша шолу жасасаңыз да, әдеттегі HELO-мен қатар, кеңейтілген SMTP сервері өз мүмкіндіктерін бастапқы стандарттан тыс жарнамалайтын EHLO-де бар екенін байқайсыз. Олардың бірі DSN. DSN? ДНҚ және ДДТ жеткіліксіз бе?

Электрондық пошта сенімді емес, біреу « ... өз серверін жақсартады, ол менің поштамды жеді ... » деген пікірді білмеу керек. Мен мұны өзім істеймін. Дегенмен, бұл күдікті қолдауға ешқандай себеп жоқ.

Жеткізу мерзімі RFC 821-ден бастап (1982 жылдан бастап) айналады. SMTP протоколының DATA бөлігі аяқталғаннан кейін және сервер жеткізу үшін электрондық поштаны қабылдағаннан кейін, ол жауапты. Егер қандай да бір себептермен ол оны алушыға жібере алмаса, оны бастапқы жіберушіге қате туралы хабарлау арқылы оны кері жіберуге тиіс. Бұл кейбір жасырын электрондық поштаға әкелді.

Бұдан басқа, бұл ескі конвенция сізде қате туралы хабар алды немесе сіз ештеңе білмеген ештеңе жоқ дегенді білдірді: электрондық пошта келген немесе мүмкін емес. Көптеген жағдайларда қате туралы хабарлар ешқандай қате туралы хабарлар сияқты пайдалы болды. Электрондық поштаның барған сайын маңыздылығы арта түседі (бұл бұрын болғандай).

DSN кеңейтімдері SMTP үшін

RFC 1891 SMTP протоколына кейбір кеңейтімдерді ұсынады, бұл сенімді және қолайлы DSN жүйесін береді. Бұл MAIL және RCPT пәрмендеріне кеңейтімдер жиынтығы (егер бұл сіз үшін ештеңе болмаса, SMTP қалай жұмыс істейтінін және мұнда қайтып оралмағанын біліңіз).

EHLO жоқ, көңілді болмайды

Біріншіден, сервер DSN қолдайтынына көз жеткізу керек. Осылайша, біз оған EHLO деп айтуға және мұқият тыңдауымыз керек. Егер ол DSN-мен бірдей ерекшеліктер тізіміне жауап берсе, біз біздің сұраныстарымызға қызмет ете алатынын болжай аламыз. Егер жоқ болса, онда емес: біз басқа серверді көре аламыз немесе DSNсіз электрондық поштаға қайта ораламыз. Мысалы (менің енгізуім көгілдір болып, сервердің шығысы қара):

220 larose.magnet.at ESMTP Sendmail 8.8.6 / 8.8.6; Күн, 24 Тамыз 1997 18:23:22 +0200
EHLO жергілікті тұрғыны
250-larose.magnet.at Hello localhost [127.0.0.1], сізді кездестіруге қуанышты
250-EXPN
250-VERB
250-8BITMIME
250-SIZE
250-DSN
250-ONEX
250-ETRN
250-XUSR
250 HELP

Бақытымызға орай, біз басқа нәрселермен бірге DSN табамыз.

DSN жіберушінің кеңейтімдері

Келесі әдетте команда MAIL FROM: болып табылады. DSN арқылы бұл өзгеше емес. Бірақ сізде шығаруға болатын екі қосымша нұсқа бар: RET және ENVID.

RET нұсқасы әдетте MAIL пәрменіне ерікті түрде орналастырылған, бірақ ол жерде де, кез-келген жерде де орналасады. Мақсаты жеткізудің сәтсіздігі туралы бастапқы хабарламаңыздың қайсысын қайтару керектігін көрсету. Жарамды дәлелдер FULL және HDRS болып табылады. Біріншісі, толық хабарламаның қате туралы хабарға енгізілуін білдіреді, ал HDRS серверге сәтсіз пошта тақырыбын қайтаруға нұсқау береді. Егер RET көрсетілмесе, серверге не істеу керек. Көп жағдайларда HDRS әдепкі мән болады.

ENVID жіберушіге шынымен тиесілі, себебі ол, немесе оның (оның) электрондық пошта клиенті бізді осы конверттің идентификаторынан жасайтын жалғыз болады. Оның мақсаты жіберушіге мүмкін қателік туралы хабарды жіберетін электронды поштаға жауап беру. Осы идентификатордың форматы негізінен жіберушінің қиялына қалдырылады. Біздің мысалда (қиял!) ENVID пайдаланбаймыз:

MAIL FROM: sender@example.com RET = HDRS
250 sender@example.com ... Жіберушісі жақсы

Шамасы, біз тек DSN-тегі тақырыптарды қайта аламыз.

DSN алушы кеңейтімдері

RCPT TO: кеңейтімдердің әділ үлесін алады: NOTIFY және ORCPT.

NOTIFY - DSN нақты жүрегі. Серверге жеткізу мәртебесі туралы хабарландыруды жіберген кезде . Бірінші ықтимал мән ЕШБІР емес, ол ешбір жағдайда DSN жіберушіге қайтарылмайды дегенді білдіреді. Бұл DSNсіз мүмкін болмады. Содан кейін, сіздің поштаңыз оның тағайындалған пунктінде орын алған кезде сізге хабарлайтын SUCCESS бар. FAILURE - бұл SUCCESS серіктесі (!): Жеткізілім кезінде пайда болған қате болса, DSN келіп түседі. Соңғы опция - бұл DELAY: сізде жеткізілім кезінде ерекше кідіріс болса, сізге хабарланады, бірақ нақты жеткізілім нәтижесі (сәттілік немесе сәтсіздік) әлі шешілмеген. ЕСІЛДІ, егер ол көрсеткен болса, жалғыз аргумент болуға тиіс, ал қалған үшеуі үтір арқылы бөлінген тізімде болуы мүмкін. СІЗДІҢ ЖӘНЕ АБАЙЛАҢЫЗ сіздердің хаттарыңызбен болған кез-келген жағдайда сізге өте күшті команда құрастырады (!).

ORCPT қызметінің мақсаты электрондық пошта хабарының түпнұсқа алушысын сақтау, мысалы, ол басқа мекенжайға жіберілсе. Бұл опцияның аргументі - мекенжай түрімен бірге бастапқы алушының электрондық пошта мекенжайы. Мекенжай түрі алдымен нүктелі үтірмен және соңында адреспен беріледі. Мысалға:

RCPT TO: support@example.com NOTIFY = FAILURE, DELAY ORCPT = rfc822; support@example.com
250 support@example.com ... Алушы ok (кезекке)

Бұдан кейін, DATA біз білетіндіктен, және, ақыр соңында, сізді сәттілік туралы хабарлайтын жеткізу мәртебесі туралы хабарлаймыз деп үміттенеміз.

DSN жұмыс істейді ме?

Әрине, бұл сұлулық пен ақыл тек жіберушіден алушыға жіберілетін пошта тасымалдау агенттері DSN-ды қолдаса ғана жұмыс істейді. Олар бір күні болады.