SMTP (trumpinys nuoangl.Simple Mail Transfer Protocol 'paprastas pašto perdavimo protokolas') –elektroninio pašto protokolas, naudojamas elektroniniams laiškams persiųsti tarp kelių internetoserverių.[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 naudojamasMIME protokolas arba8BITMIME išplėtimas.
Praplėsta SMTP versija –ESMTP (angl.Extended SMTP), apibrėžta1995, dokumentavo iki to laiko susikaupusius protokolo patobulinimus ir standartizavo SMTP protokolo išplėtimo galimybes.
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. PagrindiniaiSMTP 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