..:: Protokó³ SMTP ::..

SMTP - (Simple Mail Transfer Protocol) to jak wskazuje angielskie rozwiniêcie skrótu ³atwy protokó³ do transmisji poczty elektronicznej. SMTP jest protoko³em tekstowym, dzia³aj±cym na serwerze smtp na porcie nr. 25.


Nawi±zywanie po³±czenia

W celu nawi±zania po³±czenia z serwerem smtp piszemy polecenie:

telnet jakis.serwer.smtp.pl 25

Po nawi±zaniu po³±czenia

Pierwsz± czynno¶ci± jak± musimy zrobiæ po po³±czeniu, jest przywitanie siê z serwerem pocztowym poleceniem:

HELO jakas.nazwa

Gdy wszystko jest ok, przystêpujemy do wydania kolejnego polecenia. Je¶li serwer zwróci³ nam kod wykonania inny ni¿ 250, to zamiast HELO wpiszmy EHLO.


Reklama


Ponizsze polecenie wydajemy w zaleznosci od tego, czy serwer smtp wymaga autoryzacji, czy tez nie. Jesli wymaga, to musimy miec na nim zalozone konto pocztowe.


Piszemy wiec:

AUTH PLAIN zakodowany_login_i_haslo

W celu otrzymania zakodowanego loginu i hasla piszemy w linuxie polecenie: printf 'login\0login\0has³o'|mimencode

w miejsce loginu i has³a wstawiamy naturalnie swoje dane.
Czyli dla uzytkownika USER o ha¶le TAJNE wydajemy polecenie:

printf 'USER\0USER\0TAJNE'|mimencode

Co daje nam wynik:
VVNFUgBVU0VSAFRBSk5F

Czyli nasze kompletne polecenie wydawane serwerowi wygl±da teraz nastêpuj±co:
AUTH PLAIN VVNFUgBVU0VSAFRBSk5F

Powinien nam siê pojawiæ kominikat:
235 2.0.0 OK Authenticated

Teraz przyszed³ czas na zdefiniowanie 'cia³a' wiadomo¶ci do wys³ania. Robimy to wpisuj±c kolejne polecenia:
MAIL FROM: adres@nadawcy.pl
RCPT TO: adres@odbiorcy.pl
DATA 
TO: adres@odbiorcy.pl
FROM: adres@nadawcy.pl
SUBJECT: Temat listu

Teraz zaczynamy pisaæ tre¶æ naszej wiadomo¶ci, a gdy skoñczymy, wpisujemy kropkê w nowej linii. Po jej wpisaniu otrzymamy komunikat, ¿e nasza wiadomo¶æ zosta³a wys³ana. Roz³±czamy siê z serwerem pisz±c:

QUIT

Wa¿ne uwagi:
  • Nalezy pamiêtaæ, ¿e nie wszystkie serwery smtp przyjmuj± adresy nadawcy odbiorcy spoza swojej domeny!
  • Jesli list ma miec wiecej niz jednego nadawce, to ich listê mo¿emy wpisaæ, oddzielajac kolejne osoby znakiem przecinka

  • Kody zwracane przez serwer

    Po ka¿dym wykonanym poleceniu, serwer smtp wy¶wietla nam kod numeryczny wraz z jego krótkim opisem. Nie zawsze wiemy, co on oznacza. W zrozumieniu kodów pomo¿e poni¿sze dwie tabelki:

    1yzodpowied¼ pozytywna (przyjêcie komendy)
    2yzoperacja zakoñczona sukcesem
    3yzdane przyjête, oczekiwanie na dalsze parametry
    4yzkomenda odrzucona przez serwer
    5yzpolecenie nie zostanie wykonane z powodów bezpieczeñstwa

    x0zprawdopodobny b³±d sk³adni polecenia
    x1zOdpowiedz na polecenie informacyjne (np. HELP)
    x2zkody zwiazane z po³±czeniem i transmisj± danych
    x5zzg³asza aktualny status serwera smtp


    Przyk³adowy wygl±d sesji smtp
    Ok. wiemy ju¿ jak dzia³a protokó³ SMTP.
    Teraz zobaczny jak to wygl±da w praktyce:
    [unknow@darkstar]$ telnet testowy.com 25
    Trying 123.123.123.123...
    Connected to mail.testowy.com.
    Escape character is '^]'.
    
    220 mail.testowy.pl ESMTP
    EHLO unknow
    250 mail.testowy.pl
    250-PIPELINING
    250 8BITMIME
    mail from: ja@ty.pl
    250 ok
    rcpt to: tester@ktostam.gdziestam.pl
    553 sorry, that domain isn't in my list of allowed rcpthosts (#5.7.1)
    rcpt to: test@testowy.pl
    250 ok
    data
    354 go ahead
    asas
    .
    250 ok 1104233568 qp 7498
    quit
    

    Kolor niebieski to polecenia wydawane przeze mnie.
    Kolorem br±zowym oznaczone s± komunikaty zwracane przez program telnet.
    Kolorem zielonym oznaczono komunikaty zwracane przez serwer smtp po poprawnym
    wydaniu polecenia.

    Zwróc uwagê na fragment oznaczony na czerwono. Jest to typowy b³±d zwracany przez serwer (b³±d bezpieczeñstwa). W tym przypadku chcia³em wykorzystaæ serwer do wys³ania listu na adres spoza domeny, do czego poprawnie skonfigurowany serwer smtp nie powinien dopu¶ciæ. Po zauwa¿eniu b³±du poprawi³em siê i poda³em to samo polecenie poprawnie, podaj±c adresata z domeny serwera.

    Autorem tekstu jest Unknow

    Uwa¿asz, ¿e prezentowane przez nas informacje s± u¿yteczne? Pomó¿ nam je wypromowaæ!

    • dodaj do flakera
    • blipnij o tym
    Kana³ RSS
    Co na forum?
    Jak odzyskaæ...
    Pêtla foreach
    poszukuje po...
    Problem z fu...
    poszukuje do...
    ServerShell status: dzia³a
    [zaló¿ konto]
    Koszulki z nadrukiem
    Subskrypcja
    Je¶li chcesz byæ powiadamiany o nowo¶ciach na stronie, wpisz tu swój e-mail

    RSS

    Dodaj do Google