SMTP viduje

Kaip veikia internetinis el. Paštas

Ar kada nors susimąstėte, kas atsitinka, kai paspaudžiate mygtuką " Siųsti " savo el. Pašto programoje? Tikriausiai ne, manau - kol tai bus. Tai yra būtent tai, kodėl turėtumėte stebėtis. Jei kažkas neveikia, gerai žinoti, kas neveikia. Paprastai tai pusė sprendimo.

Kai siunčiate el. Laišką, SMTP ateina į žaidimą. SMTP yra trumpas Simple Mail Transfer Protocol, kaip apibrėžta RFC 5321: paprastas pašto perdavimo protokolas. Jūsų pašto klientas derasi su SMTP serveriu naudodamas šią švarią ir paprastą procedūrą, norint gauti el. Laišką iš vienos vietos į kitą.

Flirtas

Jūsų el. Pašto programa tampa SMTP klientu , jungiama prie pašto serverio 25 (dažniausiai SMTP prievado ), ir - sako EHLO . Kompiuteriai, galų gale, yra tik žmonės, o tai, ko reikia, yra tai, kad jis nori būti mandagus. Tiesą sakant, neketinama būti mandagūs, bet vėliau naudoti SMTP papildymus, kurie sukėlė du HELO komandų skonius (paprastai SMTP komandą sudaro keturi simboliai).

Du HELO skoniai

EHLO, nes tai yra naujausias, serveris reklamuoja visas papildomas funkcijas (pvz., Pranešimo apie pristatymo būseną ar galimybę perkelti pranešimus, kuriuose yra ne tik saugių ASCII simbolių), bet ir palaiko.

Ne kiekvienas serveris leis šį sveikinimą, bet jis turi priimti paprastą HELO, kuris, žinoma, daro prielaidą, kad nėra jokių papildomų funkcijų. Abu "hello" komandos reikalauja, kad klientas nurodė savo domeną po ** LO, tačiau. Praktiškai tai atrodo kažką panašaus:

220 mail.domain.net ESMTP serveris
HELO
501 HELO reikalauja domeno adreso
HELO localhost
250 mail.domain.net Sveiki, localhost [127.0.0.1], malonu susitikti su jumis

(Mano įvestis yra kursyvu , serverių išvestis yra juoda, linijos, prasidedančios su 5, rodo klaidą .)

Siuntėjas

Likutis protokolo tikrai nusipelno atributo paprasta. Jei norite siųsti el. Laišką, pradėkite nuo raktinių žodžių MAIL FROM:. Po to ateina siuntėjo el. Pašto adresas , kaip siūlė nuo. Nepamirškite įdėti skliaustų aplink adresą, nors (pvz., ). Tęsdami mūsų pavyzdį turime:

MAIL iš:
250 sender@example.com ... Siuntėjas gerai

Gavėjas

Kai serveris priima siuntėjo adresą, klientas gali nurodyti gavėjo adresą. Šio veiksmo komanda RCPT TO: dar kartą yra gana įžanginė. Noriu išsiųsti paštą:

RCPT TO: recipient@example.com
250 support@lifewireguide.com ... Recipient ok (bus eilėje)

Tai, kad serveris bus eilėje, reiškia tik tai: jis bus išsaugoti el. Paštą ir siunčia jį kartu su visais kitais eilės numeriais intervalais (pvz., Kas 30 minučių). Toks elgesys priklauso nuo konfigūracijos, o serveris taip pat gali pristatyti el. Laišką iš karto.

Mes beveik baigta. Vis dėlto trūksta svarbios dalies: tikroji žinia.

Žinutė

Dabar, kai "vokas" yra baigtas, el. Pašto žinutės duomenys gali būti tokie, kokie jie yra. Šie "duomenys" susideda iš el. Laiško kūno ir antraščių laukų .

Komanda inicijuoti būseną, kuri serverį priima, yra DATA . Po to visi el. Laiško antraštės laukai, o paskui - kūnas, abu sudaro tik vieną didelį teksto (arba duomenų) bloką. Norėdami pranešti serveriui, kad įvestis baigta, ta pati linija naudojama savaime (\ r \ n. \ R \ n). Taigi siunčiu savo pranešimą:

DUOMENYS
354 Įveskite laišką, pabaigoje nurodykite "." pačiame eilutėje
Pranešimo ID:
Data: Sun, 17 Aug 1997 18:48:15 +0200
Nuo: Heinz Tschabitscher
To: Heinz Tschabitscher
Tema: "Summarize-Proust" konkursui

Neprisijungęs prie "Swan's World"!
.
250 SAA19153 Pranešimas priimtas pristatyti

Taip, tai reiškia, kad galite nurodyti pavadinimą, kuris visiškai skiriasi nuo to, kuriuo el. Laiškas siunčiamas laukelyje "Kam:". Pavyzdžiui, galite naudoti "Nutraukto gavėjų sąrašą " .

Pabaiga

Dabar galite siųsti tiek daug el. Laiškų, kiek norite pakartoti veiksmus nuo MAIL FROM: to . . Jei baigsite tai, galite palikti serverį komandą QUIT, ir tai būtent tai, ką darome:

QUIT
221 goodbye

Kaip tai padaryti?

Nereikšmingas sprendimas yra "telnet" prie jūsų siunčiamo pašto serverio (jo adresą galite rasti savo el. Pašto paskyros nustatymuose ) prie 25 uosto.

Paprastesnis būdas yra naudoti šią "Java" programėlę , kuri bando imituoti SMTP protokolą ir nukreipia jus per dialogą.