×
Hyrja
Profili

Puna me SMTP Protokol

Puna me SMTP Protokol

· 1 · 863

  • Postime: 26634
  • Gjinia: Mashkull
M A X
ne: 28-08-2005, 18:44:01
 
 

Rrjeta dhe Telekomunikim - 05/09/2004 - Shkruar nga: Genc DOKO -  
 
Shumica nga ne, në ditët e sotme s'e vrasim mendjen fare për mënyrën se si bëhet komunikimi ndërmjet neve si klient dhe SMTP shërbimit (ang. "service" apo "daemon" -> proces që qëndron në prapavi, dhe aktivizohet si rezultat i ndonjë aktiviteti/nevoje) në server, për të dërguar një e-mail me sukses. Kjo natyrisht ndodhë për shkak se sot ekziston një numër mjaftë i madh i e-mail klientave që e kryejn këtë proces, dhe e vetmja gjë që shfrytzuesi duhet të bëj është shtypja e pullës "Send".
Sidoqoftë, për ata që merren më zhvillimin e aplikacioneve si dhe për ata që janë kurreshtar për ndonjë arsye, ky dokument do t'i ofroj një pamje prapa "perdeve".

Nëse është hera parë që jeni duke ndëgjuar për SMTP atëherë ja një hyrje e shkurtë: SMTP paraqet shkurtes për Simple Mail Transfer Protocol. Ky është një protokol nëpërmjet të cilit bëhet dërgimi i e-mailave. SMTP shërbimi në server merr dhe dërgon informata në portin 25. Merreni parasysh që SMTP shërbimi nuk përdoret për pranimin e e-mailave. Për pranimin e e-mailave përdoret POP3 (shkurt për Post Office Protocol, Version 3), por komunikimi me POP3 nuk do të përfshihet në këtë dokument.

Në këtë dokument do t'a përdori si shembull një adresë të imagjinuar: smtp.posta.com për të spjeguar komunikimin me një SMTP shërbim. Lexuesit rekomandohen që të shfrytëzojnë ndonjë server në të cilin kanë qasje për t'a testuar materialin që gjendet në këtë dokument.

Siqodoftë, vazhdojmë. Për të komunikuar nga një Windows sistem me SMTP shërbimin të një serveri, mundemi të përdorim telnet klientin. Pasi që veq e dijmë adresën e serverit, si dhe portin, ne mundemi të shkojmë në Start -> Run dhe të shtypim rreshtin:


telnet smtp.posta.com 25

 

Pas ekzekutimit të këtij rreshti, neve do të na shfaqet një dritare me rreshtin:


Connecting To smtp.posta.com...

 

dhe në rast që krejt shkonë si duhet, atëher një mesazh "prezentues" do të shfaqet, si në rreshtin e mëposhtëm:


220 smtp.posta.com ESMTP


 

Pasi që serveri u "prezentua", atëher ne e kemi rradhën të "prezentohemi". Pra, unë do të "prezentohem" me emrin e kompjuterit tim, duke e dërguar komandën HELO g-02042003. Pra:


HELO g-02042003
250 smtp.posta.com

 

Pasi që e mbaruam fazën e "njoftimit", tash duhemi të bëjm autorizimin. Për t'u autorizuar, ne dërgojmë komandën: AUTH LOGIN. Pra:


AUTH LOGIN
334 VXNlcm5hbWU6

 

Siq shifet serveri na është përgjegjur me rreshtin: 334 VXNlcm5hbWU6. Stringu VXNlcm5hbWU6 i cili gjendet në këtë rreshtë është i enkoduar me skemën MIME-Base64 (MIME është shkurtesë për Multipurpose Internet Mail Extension). Nëse e dekodojmë këtë string do të shohim se përmbajtja e tij është: Username:. Pra, serveri është duke e kërkuar emrin e shfrytëzuesit me të cilin dëshirojmë të autorizohemi. Duhet të merret parasysh që emri i shfrytëzuesit si dhe fjalëkalimi para se të dërgohen, duhet të enkodohen po me të njejtën skemë: MIME-Base64. Për t'a realizuar këtë gjë, mundemi t'a përdorim programin Fastcode32 v3.5. Nëse përdorim emrin e shfrytëzuesit: shfrytezuesi, dhe fjalëkalimin: fjalekalimi, atëher pas enkodimit të suksesëshëm, do të fitojmë stringun: c2hmcnl0ZXp1ZXNp për emrin e shfrytëzuesit, dhe do të fitojmë stringun: ZmphbGVrYWxpbWk=, për fjalëkalim.
Pasi që serveri është duke e kërkuar emrin e shfrytëzuesit, atëherë ne e dërgojmë stringun e enkoduar:


c2hmcnl0ZXp1ZXNp
334 UGFzc3dvcmQ6

 

Siq po vërehët, serveri menjëherë ka dërguar një string të ri të enkoduar, i cili ka përmbajtjën: Password:. Pra, tash serveri po na pyet për fjalëkalim. Pasi që t'a dërgojmë edhe fjalëkalimin, nëse autorizimi është i suksesëshëm, neve do të na shfaqen rreshtat e mëposhtëm:


ZmphbGVrYWxpbWk=
235 Authentication successful

 

Pas autorizimit, ne mundemi t'a cekim adresën prej nga është duke u dërguar e-maili. Këtë gjë e realizojmë me anë të komandës: MAIL FROM:, pra për këtë hap do të fitojmë rreshtat e mëposhtëm:


MAIL FROM: derguesi@posta.com
250 Ok

 

Serveri në rreshtat e lartëshënuar konfirmon se e-maili mundet të dërgohet nga dërguesi: derguesi@posta.com. Pas këtij hapi e cekim pranuesin e e-mailit me anë të komandës RCPT TO:, pra:


RCPT TO: pranuesi@posta.com
250 Ok

 

Poashtu edhe këtë herë, serveri jep konfirmimin që e-maili mundet t'i dërgohet pranuesit: pranuesi@posta.com.
Për hapin e ardhshëm, e ekzekutojmë komandën: DATA. Kjo komandë i thotë serverit që ne jemi të gatshëm t'i japim shënimet për trupin e e-mailit (ang. mail body). Ekzekutimi i kësaj komande do të rezulton në rreshtat e mëposhtëm:


DATA
354 End data with <CR><LF>.<CR><LF>

 

Rreshti që fitohet si rezultat i ekzekutimit të komandës "DATA", është vetëm një udhëzim i thjeshtë që na tregon që pasi të mbarojmë me dhënjen e shënimeve për trupin e e-mailit, t'a shtypim shenjën "." në një rreshtë të ri, në mënyrë që serveri t'a dijë që ky është fundi i trupit të e-mailit.
Një gjë që duhet të merret parasysh, është që trupi i e-mailit përveq mesazhit, duhet të përmbajë në fillim të tij këto rreshta:


From: Emri Mbiemri <derguesi@posta.com>
To: Emri Mbiemri <pranuesi@posta.com>
Subject: Titulli i E-Mailit

 

Pasi që kemi mbaruar t'i fusim këto shënime, mundemi t'a shkruajmë mesazhin. Pra, i tërë ky sesion do të dukej si në rreshtat që janë të vendosura në vijim:


220 smtp.posta.com ESMTP
HELO g-02042003
250 smtp.posta.com
AUTH LOGIN
334 VXNlcm5hbWU6
c2hmcnl0ZXp1ZXNp
334 UGFzc3dvcmQ6
ZmphbGVrYWxpbWk=
235 Authentication successful
MAIL FROM: derguesi@posta.com
250 Ok
RCPT TO: pranuesi@posta.com
250 Ok
DATA
354 End data with <CR><LF>.<CR><LF>
From: Emri Mbiemri <derguesi@posta.com>
To: Emri Mbiemri <pranuesi@posta.com>
Subject: Titulli i E-Mailit

Ky eshte trupi i e-mailit.
.
250 Ok: queued as 3D48217D02E

 

Serveri me shfaqjen e rreshtit:


250 Ok: queued as 3D48217D02E

 

Na tregon që të gjitha hapat për të dërguar e-mailin janë mbaruar dhe që e-maili është në pritje për t'u dërguar. Për t'a mbaruar sesionin që e kemi hapur me server do t'a ekzekutojmë komandën e fundit: QUIT, me ç'rastë do të fitojmë:



QUIT
221 Bye


Connection to host lost.

 


Pra, kjo ishte e tëra që nevojitet për një komunikim bazik me një SMTP shërbim. Nëse jeni kurreshtar të dini më shumë për komunikimin me SMTP atëherë vizitojeni ndonjërën nga hiperlidhjet e burimeve të shfrytëzuara për këtë dokument.


Burimet e Shfrytëzuara:
http://www.faqs.org/rfcs/rfc821.html
http://www.faqs.org/rfcs/rfc2554.html
http://www.sendmail.org/~ca/email/authrealms.html
 
 
Pr-tech.Net