SMTP (angleško Simple mail transfer protocol) je preprost protokol za prenos elektronske pošte, ki je standard za prenos elektronske pošte na Internetu.

Nabor internetnih protokolov
Plast Protokol
aplikacijska plast DNS, FTP, HTTP, IMAP, IRC, NNTP, POP3, SIP, SMTP, SSH,
predstavitvena plast
plast seje
prenosna plast DCCP, TCP, UDP, SCTP, RTP ...
omrežna plast IPv4, IPv6, ICMP, IGMP, ARP ...
povezovalna plast ECP, ATM, DDCMP, BSC, LAPB, LAPD, LLC, SDLC ...
fizična plast Token ring, Ethernet, FDDI, PPP, Wi-Fi ...

S temi protokoli prenašamo elektronsko pošto med različnimi sistemi, povezanimi s TCP/IP. To so samo protokoli, ki so namenjeni za prenose elektronske pošte, medtem ko potrebujemo za sestavo pošte druge programe, ki jim pravimo uporabniški agenti (user agents).

SMTP struktura je osnovana na sledečem modelu povezave kot rezultat zahteve uporabnika pošte. SMTP vzpostavi obojestranski prenosni kanal sprejemniku. Sprejemnik je lahko končni ali vmesni.

Odgovori SMTP-ja so poslani od sprejemnika pošiljatelja v odgovor na ukaze, ko je prenosni kanal vzpostavljen, pošiljatelj pošlje poštne ukaze, ki označujejo pošiljatelja pošte. Če ima sprejemnik prost kanal, sprejme in odgovori z OK. SMTP pošiljatelj pošlje RCPT ukaz, ki identificira prejemnika pošte. Če prejemnik SMTP-ja lahko sprejme pošto za tega prejemnika, odgovori z OK, če ne, ti odgovori oziroma zavrne tega prejemnika ( toda ne celotne pošiljke transakcije prenosa).

SMTP pošiljatelj in SMTP prejemnik se pogajata. Ko se dogovorita, pošiljatelj SMTP-ja pošlje sporočilo, ki je določen s specialnimi sekvencami. Če je sprejemnik SMTP-ja uspešno prejel sporočilo, zopet odgovori z OK. Grafični prikaz SMTP protokola.

Potek dialoga s strežnikom SMTPUredi

Pogovor s strežnikom (S:) in odjemalcem (C:):

S: <strežnik čaka na vratih 25 na odjemalca>
S: 220 www.primer.com ESMTP Postfix
C: HELO mojadomena.com
S: 250 Hello mojadomena.com
C: MAIL FROM: <posiljatelj@mojadomena.com>
S: 250 Ok
C: RCPT TO: <prejemnik@novadomena.com>
S: 250 Ok
C: DATA
S: 354 End data with <CR><LF>.<CR><LF>
C: Subject: test message
C:
C: Pozdravljen,
C: To je samo test.
C: Lep pozdrav.
C: .
S: 250 Ok: queued as 12345
C: QUIT
S: 221 Bye

VarnostUredi

Sam protokol, kot je zapisan v RFC 822, ne vsebuje nobenih resnih varnostnih mehanizmov. To omogoča težko nadzorljivo masovno pošiljanje nadležne pošte. Obenem je vsebina elektronskega sporočila, ki ni kriptirano, berljivo vsaki napravi ali osebi, ki ima možnost doseči komunikacijski kanal med pošiljateljem in prejemnikom sporočila. Razlog za obe pomanjkljivosti je v tem, da je bil standard napisan leta 1982, ko kriptografija še ni bila tako razvita.

Strežnik in bralec v običajnem poštnem spročilu ne moreta biti prepričana, ali je pošiljatelj dejansko tisti, ki je naveden v vrstici »MAIL FROM:«. Zato so boljši programi za predajo in prevzem pošte uveljavili naslednje prijeme:

  • SPF TXT DNS zapis na domeni pošiljatelja, ki opredeli IP naslove dovoljenih poštnih strežnikov. Tu ni nobene uporabljene kriptografije, zato so še vedno možna ponarejanja.
  • DKIM zapis, ki vključuje javni šifrirni ključ na domeni pošiljatelja, ki se v kombinaciji s kriptografskim podpisom na vsakem poštnem sporočilu uporabi za preverjanje verodostojnosti.
  • DMARC kot kontrolni protokol, ki SPF in DKIM združi in z uporabo modernejših algoritmov zagotovo zagotovi verodostojnost sporočila

Od leta 2020 je za dostavljivost sporočil pomembna uporaba DKIM ali vsaj SPF zapisov, saj drugače naslovnikov poštni strežnik ne more biti prepričan o verodostojnosti in to pogosto označi z oznako *SPAM*. Sistemski administratorji pogosto uporabljajo najnovejšo odprtokodno poštno programsko opremo, saj se le-ta sklada z večino modernih varnostnih protokolov.