SMTP

Från Wiki.linux.se
Hoppa till navigering Hoppa till sök

SMTP, eller Simple Mail Transfer Protocol, är ett viktigt internetprotokoll som används för att överföra e-postmeddelanden mellan e-postklienter och e-postservrar samt mellan e-postservrar. Här är en teknisk beskrivning av SMTP:

Funktionalitet

SMTP är en textbaserad protokollsvit som används för att skicka, överföra och vidarebefordra e-postmeddelanden. Det beskriver hur e-postklienter (sändande sidan) kommunicerar med e-postservern (sändande sidan) för att överföra e-postmeddelanden till sina mottagare.

Portar

SMTP använder standardport 25 för olydd kommunikation och port 587 för kommunikation med autentisering, vanligtvis krypterad med TLS. Port 465 användes tidigare för SSL-krypterad kommunikation men anses numera vara obsolet.

Textbaserad

SMTP-protokollet är textbaserat, vilket innebär att kommandon och svar är mänskligt läsbara textsträngar. Detta gör det enkelt att felsöka och övervaka kommunikationen.

Handskakningsprocess (Handshake)

När en e-postklient vill skicka ett meddelande till en e-postserver, inleder den en handskakningsprocess med servern. Detta innefattar följande steg:

   a. **Anslutning**: E-postklienten ansluter till e-postserverns IP-adress på port 25 (standard SMTP-port).   

   b. **Hälsning**: Klienten säger "HELO" eller "EHLO" (extended hello) för att hälsa på servern och identifiera sig själv.

   c. **Tillgängliga funktioner**: Servern svarar med en lista över tillgängliga funktioner, inklusive stöd för TLS/SSL och autentisering.

   d. **Säkerhetsåtgärder**: Om servern stöder TLS/SSL kan klienten begära en krypterad anslutning med kommandot "STARTTLS".

   e. **Autentisering**: Om servern kräver autentisering, måste klienten tillhandahålla användarnamn och lösenord med kommandon som "AUTH LOGIN" eller "AUTH PLAIN".

   f. **Meddelandespecifikation**: Klienten skickar sedan kommandon för att specificera avsändare, mottagare och meddelandets innehåll.

   g. **Dataöverföring**: Klienten överför själva e-postmeddelandet, inklusive meddelandetext och eventuella bilagor.

Meddelandeformat

SMTP hanterar inte meddelandets innehåll, utan fokuserar på att överföra meddelandetexten. E-postmeddelanden är oftast formaterade i enlighet med MIME (Multipurpose Internet Mail Extensions) för att inkludera text, HTML och bilagor.

Routning

E-postservern, antingen på sändande eller mottagande sidan, ansvarar för att vidarebefordra e-postmeddelandet till rätt mottagare eller vidare till andra e-postservrar om det behövs. SMTP använder DNS (Domain Name System) för att hitta rätt e-postserver för mottagarens domän.

Säkerhet

Eftersom SMTP är en olydd protokollsvit, kan data som överförs vara sårbar för avlyssning. För att lösa detta används TLS/SSL-kryptering för att säkerställa säker överföring av e-postmeddelanden mellan klienter och servrar.

SPF, DKIM, och DMARC

För att minska risken för e-postspoofing och skräppost har nya tekniker som SPF (Sender Policy Framework), DKIM (DomainKeys Identified Mail) och DMARC (Domain-based Message Authentication, Reporting, and Conformance) utvecklats och implementerats i samband med SMTP för att verifiera e-postmeddelandens äkthet.

Sammanfattningsvis är SMTP en grundläggande byggsten i e-postkommunikation som möjliggör överföring av e-postmeddelanden mellan e-postklienter och e-postservrar. Protokollet är textbaserat och använder handskakningsprocesser för att säkerställa att meddelanden når sina mottagare. Det har utvecklats med tiden för att möta sä