Simple Mail Transfer Protocol (SMTP) är ett standardkommunikationsprotokoll för att skicka e-postmeddelanden på företagsnätverk och på Internet. SMTP har ursprungligen utvecklats i början av 1980-talet och är fortfarande ett av de mest populära protokoll som används över hela världen.
E-postprogram använder oftast SMTP för att skicka och antingen protokoll för postkontorprotokoll 3 (POP3) eller IMAP (Internet Message Access Protocol) för att ta emot mail. Trots sin ålder finns inget verkligt alternativ till SMTP vid vanlig användning.
Hur SMTP fungerar
Alla moderna e-postklientprogram stödjer SMTP. SMTP-inställningarna som upprätthålls i en e-postklient inkluderar IP-adress för en SMTP-server (tillsammans med adresserna till antingen en POP- eller IMAP-server för att ta emot e-postmeddelanden). Webbbaserade klienter bäddar in adressen till en SMTP-server i sin konfiguration, medan PC-klienter tillhandahåller SMTP-inställningar som gör det möjligt för användarna att ange sin egen server.
En fysisk SMTP-server kan endast användas för att betjäna e-posttrafik, men kombineras ofta med minst POP3 och ibland andra proxyserverfunktioner.
SMTP körs ovanpå TCP / IP och använder TCP portnummer 25 för standardkommunikation. För att förbättra SMTP och hjälpa till att bekämpa spam på Internet har standardgrupper även utformat TCP-port 587 för att stödja vissa aspekter av protokollet. Några webb-e-posttjänster, till exempel Gmail, använder den inofficiella TCP-porten 465 för SMTP.
SMTP-kommandon
SMTP-standarden definierar en uppsättning kommandon - namn på specifika typer av meddelanden som skickar klienter till mail-servern när de begär information. De vanligaste kommandona är:
- HEJochEHLO- kommandon som initierar en ny protokollsession mellan klient och server. EHLO-kommandot ber dem att svara med eventuella SMTP-tillägg som den stöder
- POST- Kommando att initiera att skicka ett e-postmeddelande
- RCPT- Kommandot att tillhandahålla en e-postadress för en mottagare av det aktuella meddelandet som utarbetas
- DATA- Kommando som anger början av överföringen av e-postmeddelandet. Detta kommando initierar en serie av ett eller flera efterföljande meddelanden som varje innehåller en del av meddelandet. Det sista meddelandet i sekvensen är tomt (innehåller endast en period (.) Som en uppsägningstecken) för att indikera slutet av e-postmeddelandet.
- RSET- När du skickar ett e-postmeddelande (efter att ha utfärdat MAIL-kommandot), kan änden av SMTP-anslutningen återställa anslutningen om den stöter på ett fel
- Noop- Ett tomt meddelande ("ingen operation") som är utformat som en typ av ping för att kontrollera efterfrågan på den andra änden av sessionen
- SLUTA MED- avslutar protokollet
Mottagaren av dessa kommandon svarar med antingen framgångs- eller felkodsnummer.
Problem med SMTP
SMTP saknar inbyggda säkerhetsfunktioner. Internetspammare har blivit aktiverade att utnyttja SNMP tidigare genom att generera enorma mängder skräppost och ha dem levererade via öppna SMTP-servrar. Skydd mot spam har förbättrats genom åren men är inte idiotsäker. Dessutom hindrar SMTP inte spammare från att ställa in (via MAIL-kommandot) falska "Från:" e-postadresser.