ESMTP on lyhenne sanoista Extended Simple Mail Transfer Protocol tai Enhanced Simple Mail Transfer Protocol, joka on laajennus SMTP-protokollaan. Laajennus määriteltiin RFC 1869:ssä vuonna 1995.

RFC 1869 määrittää kaikille nykyisille ja tuleville laajennuksille rakenteen, jonka avulla ESMTP-asiakkaiden ja -palvelinten hallittava ja johdonmukainen tunnistaminen ja ESMTP-palvelinten tukemien laajennusten ilmaiseminen on mahdollista.

Laajennukset muokkaa

ESMTP-asiakkaiden määräävänä piirteenä on yhteyden avaaminen EHLO-komennolla SMTP-protokollan HELO-komennon sijaan. Riippuen palvelimen konfiguraatiosta voi vastaus olla onnistuminen (koodi 250), epäonnistuminen (koodi 550) tai virhe (koodi 500, 501, 502, 504, tai 421). ESMTP-palvelin vastaisi koodilla 250 OK monirivisessä vastauksessa, joka sisältää sen verkkotunnuksen ja listan EHLO-avainsanoja, joilla se kertoo, mitä ESMTP-laajennuksia se tukee. Palvelin, joka tukee vain RFC 821:tä eli vanhempaa SMTP-protokollaa, vastaisi virhekoodilla 500, jolloin ESMTP-asiakas voisi yrittää joko HELO- tai QUIT (lopeta yhteys) -komentoa.

Kaikki palvelulaajennukset määritellään RFC-dokumenteissa ja rekisteröidään IANAan. Ensimmäiset laajennusmääritykset koskivat RFC 821:n valinnaisia palveluja: SEND, SOML (Send or Mail) ja SAML (Send and Mail), joilla voitiin vastaanottajan postilaatikon lisäksi tai asemesta toimittaa viesti suoraan vastaanottajan päätteelle, EXPN, HELP, ja TURN (vaihda lähettäjä vastaanottajaksi ja päinvastoin).

Joitakin nykyisin käytettyjä avainsanoja (joista kaikki eivät ole komentoja):

  • 8BITMIME 8-bittinen tiedonsiirto, RFC 1652
  • ATRN Autentikoitu Turn eli lähettäjän ja vastaanottajan roolien vaihto, RFC 2645
  • AUTH Autentikoitu SMTP, RFC 2554
  • CHUNKING Isojen liitetiedostojen käsittelyyn, RFC 3030
  • DSN Delivery status notification, suom. Vahvistus viestin perillemenosta, RFC 1891
  • ETRN Laajennettu Turn, RFC 1985
  • HELP Ohjeiden pyytämiseen, RFC 821
  • PIPELINING Usean komennon lähettämiseen kerralla, RFC 2920
  • SIZE Viestin koon ilmoittamiseen, RFC 1870
  • STARTTLS Transport layer security, suom. Kuljetuskerroksen salaus, RFC 3207.

Vuonna 2001 ilmestynyt RFC 2821 määritteli ESMTP:n uudestaan. Sen myötä legendaarisen Jon Postelin RFC 821 vuodelta 1982 määritettiin vanhentuneeksi. Uudelleenmäärittelyssä EHLO-komennosta tuli pakollinen ja HELO jäi "varakomennoksi".

Kahdenvälisellä sopimuksella osapuolet voivat ottaa käyttöön ei-standardoituja ja rekisteröimättömiä palvelulaajennuksia, joiden EHLO-avainsanan tulee alkaa kirjaimella X.

Aiheesta muualla muokkaa