Applikasjonslaget:

 E-post

Laget av Nina Meedby, Maria Shchekanenko og Espen Meland. 

ESMTP


1. Innledning

ESMTP, Extended Simple Mail Transfer Protocol spesifiserer utvidelser for den opprinnelige protokollen for sending av epost som støtter grafikk, audio og videofiler samt tekst i forskjellige språk. Da brukere begynte å sende vedlegg til e-poster, ble det behov for å ytterligere funksjonalitet for sending av epost. ESMTP hører hjemme i applikasjonslaget.

Protokollen ble først definert av IETF i RFC 1869 som etablerte en generell struktur for eksisterende og framtidige utvidelser, og formatet har senere blitt gjenstatert som en del av SMTP spesifikasjonen i RFC 2821. Senere utvidelser har blitt gitt ut gjennom egne spesifikasjoner.

 

2. Ønsket funksjonalitet

ESMTP tillater bruk av tjenester ikke definert i SMTP. Dette lar man utvide funksjonaliteten til SMTP uten at kjernefunksjonaliteten blir endret. Da unngås det at eldre programvare blir inkompatibel med nyere mailservere, og det SMTP blir holdt så enkel som mulig.

Det er mange moderne problemer som ESMTP tjenester stiller seg til å løse som ikke fordrer endring i SMTP. Eksempel på dette er Chunking (RFC 3030), som tillater mer kompakt sending av store filer.

ESMTP forutsetter at tjenesten støtter SMTP.

ESMTP tilbyr flere utvidelser. Vi kan nevne:

  • 8BITMIME - 8 bit data overføring (RFC 6152)

Senderen bruker denne kommandoen for å signalisere at den støtter høyere bits ASCII overføring.

  • DSN - Delivery status notification (RFC 3461)

Denne spør mottagende mail server om å bekrefte at overføringen ble fullført som ønsket. Man kan bruke DSN som bekreftelse på at mottakeren har fått meldingen din.

  • ETRN -  Utvidet versjon av remote message queue kommandoen TURN (RFC 1985)

Denne kommandoen er også kjent som QSND. Den er spesielt laget for å tillate interaksjon med oppringte mailservere. En oppringt mailserver kobles til ESMTP serveren og utsteder ETRN kommandoen for å tvinge alle eposter til å utsendt.

  • Pipelining - Command pipelining (RFC 2920)

En sendende server kan bruke pipelining for å sende flere meldinger til mottakere på en gang ved bruk av en tilkobling, i stedet for å måtte bruke RSET kommandoen hver eneste gang.

Også kjent som Checkpoint. Dersom en tilkobling blir brutt når man sender en epost får man fra Restart-kommandoen muligheten til å fortsette sendingen.

Denne muligheten kan sette restriksjoner på antall meldinger som aksepteres fra et bestemt domene.


3. Virkemåte

ESMTP bygger på SMTP, og følger den samme protokollen. ESMTP definerer en ny kommando, EHLO (Extended HELLO), for å spørre om serveren tilbyr tilleggstjenester. Serveren kan da svare med suksess og en liste med nøkkelord som representerer ESMTP tjenester den tilbyr. Hvis den svarer med feilkode betyr det at den ikke støtter ESMTP, og klienten kan da enten fortsette med SMTP eller avslutte.


Eksempel på svar på EHLO kommando. Denne serveren tilbyr pipelining, DSN osv.


4. Kilder

Opprinnelig spesifikasjon:

https://tools.ietf.org/html/rfc1869

http://searchexchange.techtarget.com/definition/ESMTP

http://searchexchange.techtarget.com/tutorial/Part-3-How-Extended-SMTP-works-and-common-ESMTP-commands

https://www.kutukupret.com/2009/09/09/extended-smtp/

https://dustyhoppe.wordpress.com/2012/05/22/sending-email-attachments-using-smtp-commands-and-telnet/

  • No labels