Obsah
Časová náročnost kapitoly: 25 minut
Po identifikaci 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číná 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.
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
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
Příkaz DATA se používá 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.
Parametry: žá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, ukoncovaci 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
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.
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.
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.
Přeruší probíhající emailovou
transakci. Veškeré vstupní buffery musí být vyprázdněny a Server musí
odpovědět OK.
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:.