Lihtne meiliedastusprotokoll

**Lihtne meiliedastusprotokoll** (ingl *Simple Mail Transfer Protocol*, **SMTP**) on internetiprotokollistikku kuuluv protokoll e-kirjade edastamiseks. Postiserverid kasutavad seda harilikult nii kirjade saatmiseks kui ka vastuvõtmiseks, meilikliendid seevastu ainult serverisse saatmiseks. E-kirjade serverist kättesaamiseks kasutab klient üldjuhul kas postkontoriprotokolli (POP) või internetisõnumitele juurdepääsu protokolli (IMAP).

SMTP on määratletud Interneti standardiga RFC 5321 (2008) ja on tänapäeval laialt kasutusel. SMTP kasutab TCP porti 25.

## E-posti liikumise skeem
E-kirja liikumine saatjalt adressaadini sisaldab järgmisi etappe:
# saatja e-posti klient edastab kirja teda teenindavale SMTP-serverile (1);
# server (1) otsib domeeninimede süsteemist adressaadi domeeni teenindava SMTP-serveri (2) nime ning edastab sõnumi sellele serverile;
# server (2) edastab sõnumi adressaati teenindavale serverile (see samm võib ka vahele jääda);
# adressaadi e-posti klient kopeerib saabunud sõnumid serverist adressaadi arvutisse või võimaldab adressaadil lugeda vahetult serveri postkastis salvestatud kirju.

SMTP ei määra kirja sisu, vaid selle transpordi. Sisu ehk e-kirja päised ja sisu on määratud RFC 5322-ga (2008).

## SMTP transpordi näide
Järgnevas näites on esitatud e-posti kliendi ja serveri vaheline SMTP-protokolli kasutav teabevahetus kirja saatmisel. Saatja on juuli@linnast.ee ja kirja saaja maali@maalt.ee.

Näites kliendi saadetud tekstide ees olev C: ja serveri vastuste ees olev S: ei kuulu protokolli juurde.

Pärast seda, kui saatja (SMTP-klient) on loonud ühenduse vastuvõtjaga (SMTP-serveriga), avatakse seanss serveripoolse tervitusega, mis tavaliselt sisaldab serveri nime. Klient vastab sellele käsuga `HELO`, mis sisaldab selle nime.
`
 S: 220 smtp.linnast.ee ESMTP Postfix
 C: HELO juuliarvuti
 S: 250 Hello juuliarvuti, I am glad to meet you
 C: MAIL FROM:<juuli@linnast.ee>
 S: 250 Ok
 C: RCPT TO:<maali@maalt.ee>
 S: 250 Ok
 C: DATA
 S: 354 End data with <CR><LF>.<CR><LF>
 C: From: "Juuli" <juuli@linnast.ee>
 C: To: Maali <maali@maalt.ee>
 C: Date: Tue, 15 Jan 2008 16:02:43 +0200
 C: Subject: Proovikiri
 C:
 C: Tere Maali!
 C:
 C: Saadan Sulle e-kirja. Kui kunagi arvuti ostad, eks siis vasta ka.
 C:
 C: Tervitades,
 C: Juuli
 C: .
 S: 250 Ok: queued as 12345
 C: QUIT
 S: 221 Bye
 {Server sulgeb ühenduse}
`

Klient teatab vastuvõtjale esmalt oma e-posti aadressi käsuga `MAIL FROM` ja seejärel adressaadi e-posti aadressi käsuga `RCPT TO`. Server kinnitab iga käsku tulemuskoodi ja sõnalise vastusega (näiteks `250 Ok`).

E-kirja sisu edastamine algatatakse käsuga `DATA`, mille järel edastatakse sõnum rida-realt. Sõnumi lõppu tähistab omaette real olev punkt.

Käsk `QUIT` lõpetab seansi.

## Turvalisus ja spämm

Algupärane SMTP spetsifikatsioon ei sisaldanud vahendeid e-kirja saatja autentimiseks. RFC 2554 lisas vastava laienduse SMTP-AUTH.

See ei ole siiski laialdaselt kasutusel ja sellest ei ole spämmi vastu võitlemisel abi.

On tehtud ettepanekud ka SMTP täielikuks väljavahetamiseks, näiteks Internet Mail 2000 vastu, kuid seda peetakse SMTP väga laialdase kasutuse tõttu teostamatuks.

## Vaata ka
*Postfix
*Sendmail

## Seotud RFC-d
* RFC 1123 – Requirements for Internet Hosts–Application and Support (STD 3)
* RFC 1870 – SMTP Service Extension for Message Size Declaration (tühistab RFC 1653)
* RFC 2505 – Anti-Spam Recommendations for SMTP MTAs (BCP 30)
* RFC 2920 – SMTP Service Extension for Command Pipelining (STD 60)
* RFC 3030 – SMTP Service Extensions for Transmission of Large and Binary MIME Messages
* RFC 3207 – SMTP Service Extension for Secure SMTP over Transport Layer Security (tühistab RFC 2487)
* RFC 3461 – SMTP Service Extension for Delivery Status Notifications (tühistab RFC 1891)
* RFC 3462 – The Multipart/Report Content Type for the Reporting of Mail System Administrative Messages (tühistab RFC 1892)
* RFC 3463 – Enhanced Status Codes for SMTP (tühistab RFC 1893 )
* RFC 3464 – An Extensible Message Format for Delivery Status Notifications (tühistab RFC 1894)
* RFC 3834 – Recommendations for Automatic Responses to Electronic Mail
* RFC 4409 – Message Submission for Mail (tühistab RFC 2476)
* RFC 4952 – Overview and Framework for Internationalized E-mail
* RFC 4954 – SMTP Service Extension for Authentication (tühistab RFC 2554)
* RFC 5068 – E-mail Submission Operations: Access and Accountability Requirements (BCP 134)
* RFC 5321 – The Simple Mail Transfer Protocol (tühistab RFC 821 ehk STD 10, RFC 974, RFC 1869, RFC 2821)
* RFC 5322 – Internet Message Format (tühistab RFC 822 ehk STD 11 ja RFC 2822)
* RFC 5336 – SMTP Extension for Internationalized Email Addresses (parandab RFC 2821, RFC 2822 ja RFC 4952)
* RFC 5504 – Downgrading Mechanism for Email Address Internationalization

## Viited