Pereiti prie turinio

SMTP

Straipsnis iš Vikipedijos, laisvosios enciklopedijos.
SMTP
Tipas: kliento-serverio
Portas: tcp/25
RFC: 2821
OSI lygis 6-7

SMTP (trumpinys nuo angl. Simple Mail Transfer Protocol 'paprastas pašto perdavimo protokolas') – elektroninio pašto protokolas, naudojamas elektroniniams laiškams persiųsti tarp kelių interneto serverių.[1]

SMTP protokolas yra santykinai paprastas. Siunčiančioji pusė (klientas) duoda tekstines komandas, gaunančioji (serveris) apie komandų vykdymo rezultatus praneša grąžindama „klaidų (būsenos) kodus“. Originali SMTP protokolo versija reikalavo, kad tiek komandos, tiek laiško turinys būtų ASCII koduotėje. Dėl to buvo komplikuota siųsti dvejetainius failus. Šiai problemai spręsti buvo naudojamas MIME protokolas arba 8BITMIME išplėtimas.

Praplėsta SMTP versija – ESMTP (angl. Extended SMTP), apibrėžta 1995, dokumentavo iki to laiko susikaupusius protokolo patobulinimus ir standartizavo SMTP protokolo išplėtimo galimybes.

Pagrindinės komandos

[redaguoti | redaguoti vikitekstą]
HELO siuntėjo.domenas
Pirmoji komandą prisijungus prie SMTP serverio
EHLO siuntėjo.domenas
Pirmoji komanda prisijungus prie ESMTP serverio
MAIL FROM <siuntėjo@adresas>
siuntėjo nurodymas
RCPT TO <gavėjo@adresas>
gavėjo adresas, vienos sesijos metu gali būti nurodyti keli gavėjai
DATA
instrukcija, kad klientas pasiruošęs siųsti el.pašto laiško turinį
QUIT
paskutinė sesijos komanda

Klaidų kodai yra tekstas, susidedantis iš 3 skaitmenų, skyriklio (tarpo simbolio arba minuso) ir paaiškinimo žmogui tiesiogiai suprantama kalba. Tarpas naudojamas, kai atsakymas užima vieną eilutę, jei atsakymas užima daugiau eilučių, tai visose jose, išskyrus paskutinę, naudojamas minusas. Pagrindiniai SMTP protokolo klaidų kodai:

220 Service ready
serveris pasiruošęs priimti komandas
250 Requested mail action okay, completed
komanda įvykdyta (dažniausiai reiškia, kad laiškas priimtas pristatymui)
354 Start mail input; end with. (a dot)
serveris pasiruošęs priimti laiško turinį, laiškas turi būti užbaigtas tašku atskiroje eilutėje
450 Requested mail action not taken
mailbox unavailable (E.g., mailbox busy): serveris šiuo metu negali priimti laiško tokiu adresu, reikia bandyti siųsti vėliau
500 Syntax error, command unrecognized
neatpažinta komanda
501 Syntax error in parameters or arguments
neteisingi komandai pateikti argumentai
503 Bad sequence of commands
neteisinga komandų seka
550 Requested action not taken, mailbox unavailable
serveris nežino tokios pašto dėžutės, laiško siuntimas neturėtų būti kartojamas
  1. SMTP protokolasV. Dagienė, G. Grigas, T. Jevsikova. Enciklopedinis kompiuterijos žodynas. 4-as leidimas. Vilnius: VU MII, 2014 // EKŽ, 2021, nuolat atnaujinamas. ISBN 978-9986-680-52-9.