SMTP кіргізілуде

Интернеттегі электрондық пошта қалай жұмыс істейді

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

Электрондық пошта жіберген кезде SMTP ойнатылады. SMTP қарапайым пошта тасымалдау протоколы үшін RFC 5321: қарапайым пошта тасымалдау протоколында анықталғандай қысқа. Пошта клиенті SMTP серверіне бір жерден басқа жерге электрондық поштаны алу үшін осы таза және қарапайым процедураны пайдаланып сөйлеседі .

Флирт

Электрондық пошта бағдарламасы SMTP клиенті болып, пошта серверіңіздің 25 портына қосылады (әдетте SMTP порты ) және - EHLO дейді. Компьютерлер, ақыр соңында, адам ғана болып табылады және ол сыпайы болуды қалайды. Шын мәнінде, ол сыпайы болуға тырыспайды, бірақ SMTP-ке кейінгі кейінгі қосылымдарды қолдануға тырысады, ол кейінірек HELO командасының екі дәмін тудырды (SMTP пәрмені әдетте төрт таңбадан тұрды).

HELO компаниясының екі дәмі

EHLO, ол жақында болғандықтан, серверге қолдау көрсететін барлық қосымша мүмкіндіктерді (жеткізу мәртебесі туралы хабарландыру немесе қауіпсіз ASCII таңбаларынан басқа хабарларды тасымалдау мүмкіндігі) жарнамалайды.

Әрбір сервер осы сәлемдесуге мүмкіндік бермейді, бірақ, әрине, ешқандай қосымша мүмкіндіктер жоқ деп есептейтін қарапайым HELO қабылдау қажет. Дегенмен, сәлемдесу командалары клиенттен ** LO-дан кейін оның доменін көрсетуін талап етеді. Іс жүзінде бұл келесідей көрінеді:

220 mail.domain.net ESMTP сервері
HELO
501 HELO домен мекенжайын талап етеді
HELO localhost
250 mail.domain.net Hello localhost [127.0.0.1], сізді кездестіруге қуанышты

(Менің енгізуім курсивпен , серверлердің шығысы қара, 5-тен басталатын қателер қатені көрсетеді.)

Жіберуші

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

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

Алушы

Сервер жіберушінің мекен-жайын қабылдағаннан кейін клиент алушының мекен-жайын бере алады. Бұл әрекеттің командасы, RCPT TO: қайтадан ұсынылған. Мен өзіме хат жібергім келеді:

RCPT TO: recipient@example.com
250 support@lifewireguide.com ... алушы ok (кезекте)

Сервер кезекте тұрғандығын білдіреді: ол поштаны жергілікті түрде сақтайды және кез-келген басқа кез-келген поштамен интервалдармен бірге жібереді (мысалы, әрбір 30 минут сайын). Бұл әрекет конфигурациядан тәуелді және сервер бірден поштаны жеткізуі мүмкін.

Біз іс жүзінде аяқталды. Дегенмен, әлі де жетіспейтін нәрсе маңызды бөлік: нақты хабарлама.

Хабарлама

Енді «конверт» аяқталды, электрондық пошта хабарламасының деректері дәл солай орындалуы мүмкін. Бұл «деректер» электронды поштаның денесін , сондай-ақ тақырып өрістерінен тұрады .

Сервер хабарды қабылдайтын күйді бастау туралы команда DATA болып табылады. Бұдан кейін электрондық пошта хабарламасының барлық тақырыптық өрістері, содан кейін дененің тек бір үлкен мәтін блогын (немесе деректерді) құрастырады. Серверге кірістің аяқталуын өзінде сызықта нүкте аяқталғанын айту үшін қолданылады (\ r \ n. \ R \ n). Сондықтан менің хабарымды жіберемін:

DATA
354 Поштаны енгізіңіз, «.» желісі бойынша өзі
Хабарлама идентификаторы:
Күні: Сәрсенбі, 17 Тамыз 1997 18:48:15 +0200
Қайдан: Хайнц Цчабицхер
Кімге: Heinz Tschabitscher
Тақырыбы: Summalize-Proust Contest

Аққулар әлеміне апарыңыз!
.
250 SAA19153 Хабарлама жеткізу үшін қабылданады

Ия, бұл дегеніміз, электрондық поштаға «Кімге: өрісінде» деген атаудан мүлдем өзгеше атау білуге ​​болады. Мысалы, « Алушы тізімін басылған» пайдалануыңызға болады.

Соңы

Енді MAIL FROM: дан дейін қадамдарды қайталауды қалағаныңызша, сіз көптеген электрондық хаттарды жібере аласыз . . Егер сіз мұны аяқтасаңыз, серверді QUIT пәрменімен тастауға болады және бұл жай ғана біз не істейміз:

QUIT
221 сәттілік

Мұны қалай істей аламын?

Тривиальды емес шешім - шығыс пошта серверіне telnet (сіз оның мекен-жайын электрондық пошта клиентінің тіркелгі баптауларында таба аласыз) 25-портта.

Бұл Java қосымшасын SMTP протоколына еліктеуге және диалог арқылы бағыттауға тырысады.