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.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
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:.