SMTP

Վիքիպեդիայից՝ ազատ հանրագիտարանից

Simple Mail Transfer Protocol (SMTP) (Էս Էմ Թի Փի) էլեկտրոնային փոստի նամակների փոխանցման համար ինտերնետային ստանդարտ։ Առաջին անգամ ներկայացվել է 1982 թվականին՝ RFC 821 ստանդարտով։ 2008 թվականին RFC 5321 ստանդարտով ներկայացվեց ընդլայնված SMTP տարբերակը, որը այօր լայն կիրառություն ունի։

SMTP որպես կանոն օգտագործում է TCP 25 միանցքը (անգլ. Port). Նամակների ներկայացումը օգտագործում է միևնույն պրոտոկոլը, բայց այս դեպքում՝ 587 միանցքը (անգլ. Port)։ SMTP միացումները անվտանգ են դարձնում SSL-ի միջոցով, ինչը հայտնի է որպես SMTPS, որի համար լռելյայն միանցքը (անգլ. Port) 465 է։

Չնայած էլեկտրոնային նամակների սերվերների և նամակների փոխանակման գործակալները նամակների ուղարկման և ստացման համար օգտագործում են SMTP, օգտագործողի մակարդակում ծրագրերը SMTP օգտագործում են միայն նամակները սերվերին ուղարկելու համար։ Նամակները ստանալու համար ծրագրերը օգտագործում են կա՛մ POP3, կա՛մ IMAP պրոտոկոլները։

Չնայած սեփականատիրական ծրագրերը (Microsoft Exchange, Lotus Notes/Domino), վեբ ինտերֆեյսով էլեկտրոնային փոստարկղերը Hotmail, Gmail և Yahoo! Mail) փոստարկղերի օգտագործողների նամակները իրենց տերերին հասանելի դարձնելու համար օգտագործում են իրենց սեփական ոչ ստանդարտ պրոտոկոլները, բայց բոլորն էլ օգտագործում են SMTP, երբ ուղարկում կամ ստանում են նամակ իրենց համակարգից դուրս։

Պատմություն[խմբագրել | խմբագրել կոդը]

1960-ական թվականներին օգտագործվում էին տարբեր էլեկտրոնային հաղորդագրությունների տարբերակներ։ Մարդիկ մեկը մյուսի հետ հաղորդակցվում էին տարբեր կոնկրետ համակարգիչների համար մշակված համակարգերը։ Ավելի մեծ թվով համակարգիչների միացման հետ մեկտեղ, հատկապես ԱՄՆ կառավարության ARPANET, մշակվեցին նոր ստանդարտներ, որոնք հնարավորություն տվեցին օգտագործողներին նամակներ ուղարկելու մեկմեկու՝ օգտագործելով տարբեր համակարգեր։

Նամակների մշակված մոդել[խմբագրել | խմբագրել կոդը]

Կապույտ սլաքները կարող են գործել՝ օգտագործելով SMTP տարբեր տեսակները

Էլեկտրոնային նամակը ուղարկվում է փոստային կլիենտի միջոցով։ Օգտագործելով SMTP 587 միանցքը նամակը փոստային կլիենտից փոխանցվում է փոստային սերվերին։ Փոստային ծառայությունների հիմնական մատակարարները մինչև այժմ թույլատրում են նամակների ուղարկումը ավանդական 25 միանցքին։ Այնտեղից նամակների գործակալը փոխանցում է նամակը փոխանցումների գործակալին։ Հաճախ այս երկու գործակալները նույն ծրագրի տարբեր բաժիններն են, որոնք նույն գործում են նույն սարքավորման վրա, սակայն ունեն տարբեր կարգավորումներ։ Լոկալ պրոցեսինգը կարող է իրականացվել կա՛մ մեկ սարքի վրա, կ՛ամ բաժանվել մի շարք ծրագրերի միջև, ինչի դեպքում ներգրավված գործընթացները կարող են կիսվել միմյանց հետ ֆայլերով։ SMTP պրոտոկոլը օգտագործվում է նամակը ներքին կարգով ուղարկելու համար։ Նամակների փոխանակման գործակալի սահմանը պետք է լինի թիրախային հոսթը։ Այն օգտագործում է DNS ծառայությունը՝ ստացողի դոմեյնի տիրույթում նամակների փոխանակման MX գրառումները գտնելու համար։ Վերադարձվող MX գրառումը պարունակում է թիրախային հոսթի անվանումը։ Փոստային փոխանակման գործակալը կապվում է փոխանակաման սերվերի հետ որպես SMTP կլիենտ։

Երբ MX թիրախը ընդունում է ստացվող նամակը, այն փոխանցում է նամակը mail delivery agent (MDA) նամակների առաքման գործակալին, որը պատասխանատու է լոկալ նամակների առաքման համար։

Նամակների առաքման ծառայությունը ունակ է պահպանելու նամակը հատուկ փոստարկղային ֆորմատով։ Նամակների առաքումը հնարավոր է իրականացնլ մեկ կամ մի քանի համակարգիչներ օգտագործելով։ Նամակների առաքման գործակալը կարող է առաքել նամակները միանգամից հիշողության մեջ, կամ վերահասցեավորել այն օգտագործելով SMTP, կամ այլ միջոց, ներառյալ Local Mail Transfer Protocol (LMTP) պրոտոկոլը, որը մշակվել է SMTP հիմքի վրա՝ կոնկրետ այս նպատակով։

Երբ նամակը առաքվում է լոկալ սպասարկչին, նամակը պահպանվում է հետագայում նույնականացված սպասարկիչների կողմից դրանք բեռնելու համար։ Նամակները բեռնվում են վերջնական օգտագործողների համար նախատեսված ծրագրերի կողմից՝ օգտագործելով Internet Message Access Protocol (IMAP) ինտերնետային նամակների հասանելիության պրոտոկոլը։ Այս պրոտոկոլը կառավարում է և՛ նամակները, և՛ պանակները։ Post Office Protocol (POP) պրոտոկոլը, որը գլխավորապես օգտագործում է ավանդական mbox mail ֆայլային ֆորմատ կամ համակարգեր, ինչպիսիք են Microsoft Exchange/Outlook կամ Lotus Notes/Domino։ Webmail սպասարկիչները օգտագործում են երկու տարբերակներն էլ։

SMTP պրոտոկոլը սահմանում է հաղորդագրությունների փոխանակումը, բայց ոչ ամբողջ պարունակության փոխանակումը։ Այսպիսով սահմանում է նամակի ծրարը և դրա պարամետրերը, ինչպես օրինակ նամակի ուղարկողի տվյալները, վերնագրերը և այլն, բայց ոչ նամակի ողջ պարունակությունը։ STD 10 և RFC 5321 ստանդարտները սահմանում են SMTP (ծրարը), մինչդեռ STD 11 և RFC 5322 սահմանում են հենց նամակը (վերնագիր և պարունակություն), նախկինում հայտնի որպես ինտերնետային հաղորդագրության ֆորմատ։