předcházející následující

Simple Mail Transfer Protocol


Kapitola 4. Příkazy pro odesílání pošty

Obsah

4.1. Popis příkazů
4.1.1. MAIL FROM:
4.1.2. RCPT TO:
4.1.3. DATA
4.1.4. SEND
4.1.5. SOML
4.1.6. SAML
4.1.7. RSET

Časová náročnost kapitoly: 25 minut

    Po identifikci klienta, SMTP server očekává příkazy. Jednou sadou jsou příkazy pro odesílání pošty.
    Celý průběh odeslání pošty začíná příkazem MAIL FROM:, kterým se identifikuje návratová adresa (adresa odesílatele). Následuje příkaz RCPT TO:, který nastaví adresáta zprávy, pro každého adresáta zopakujeme příkaz RCPT TO:. Když jsou nastaveni všichni adresáti, přijde na řadu odeslání zprávy. Odeslání zprávy začína příkazem DATA. Po potvrzení příjmu dat můžeme celý proces zopakovat pro další zprávy. Pokud je v průběhu procesu odeslán příkaz RSET, znamená to, že právě probíhající emailová transakce je přerušena. Vyprázdní se Buffery, server přichází do stavu jako před přijetím příkazu MAIL.

4.1. Popis příkazů


4.1.1. MAIL FROM: <odesilatel>


    Používá se pro zahájení odesílání zprávy, identifikuje se odesílatel zprávy
Paramerty: řetězec návratové emailové adresy
Možné odpovědi:
    250 OK

Příklad
    Klient: MAIL FROM: karel@seznam.cz
    Server: 250 OK

4.1.2. RCPT TO: <prijemce>


    Tímto příkazem se identifikují adresáti zprávy
Parametry: řetězec cílové emailové adresy
Možné odpovědi:
    250 OK
    550 zadny takovy uzivatel

Příklad
    Klient: RCPT TO: tonda@seznam.cz
    Server: 250 OK
    ...
    Klient: RCPT TO: milan@seznam.cz
    Server: 550 zadny takovy uzivatel

4.1.3. DATA


    Příkaz DATA se použivá pro zaslání obsahu zprávy na server. Po potvrzení příjímání dat stavovým kódem 354, posílá klient obsah zprávy, který zakončí sekvencí <CRLF>.<CRLF> Po přijetí této sekvence potvrdí server příjem dat stavovým kódem 250.
Paramerty: žádné
Možné odpovědi:
    354 Cekam na data, ukoncovaci sekvence je <CRLF>.<CRLF>
    250 OK

Příklad
    Klient: DATA
    Server: 354 Cekam na data, ukocovaci sekvence je <CRLF>.<CRLF>
    Klient: nyní se posílá obsah zprávy
    Klient: CRLF.CRLF
    Server: 250 OK



Poznámka

    Následující příkazy se používají místo příkazu MAIL a mají speciální způsob doručování emailů. Většina implementací protokolu SMTP využívá místo příkazů následujících příkazu MAIL

4.1.4. SEND FROM: <odesilatel>


    Příkaz vyžaduje, aby email byl doručen na adresátův terminál. Pokud uživatel není aktivní, nebo nepřijímá zprávy, přijde odpověď 450 na RCPT příkaz. Transakce proběhne v pořádku, když je email doručen na terminál adresáta.
Všechny ostatní vlastnosti jsou jako u příkazu MAIL.

4.1.5. SOML FROM: <odesilatel>


    SOML je zkratka vzniklá z písmen slov Send Or MaiL. Příkaz vyžaduje, aby byl email doručen na terminál adresáta, pokud je aktivní. Pokud není adresát aktivní, uloží se do jeho emailové schránky. Transakce proběhne v pořádku, pokud došlo k úspěšnému doručení alespoň v jednom případě.
Všechny ostatní vlastnosti jsou jako u příkazu MAIL.

4.1.6. SAML FROM: <odesilatel>


    SAML je zkratka vzniklá z písmen slov Send And MaiL. Příkaz vyžaduje, aby byl email doručen na terminál adresáta pokud je aktivní. V každém případě se email uloží do emailové schránky adresáta. Transakce proběhla úspěšně, pokud je email doručen do adresátovy emailové schránky.
Všechny ostatní vlastnosti jsou jako u příkazu MAIL.

4.1.7. RSET


    Přeruší probíhající emailovou transakci. Veškeré vstupní buffery musí být vyprázdněny a Server musí odpovědět OK.

4.2. Cvičení


Námět na příklady:
    Pomocí utility telnet se připojte na smtp server a odešlete email. Pokuste se odeslat email na neexistující adresu. Ověřte si rozdíl při použití příkazů SEND FROM:, SOML FROM: a SAML FROM:.