SMTP
Wikipedia
Protokollstack för IP-nätverk | |
TCP/IP-skikt | Protokoll |
---|---|
5.Applikation | BitTorrent, DNS, FTP, HTTP, IMAP, IRC, NNTP, POP3, SIP, SMTP, SNMP, SSH, Telnet, TFTP, … |
4.Transport | DCCP, SCTP, TCP, RTP, UDP, IL, RUDP, … |
3.Nätverk | ARP, ICMP, IGMP, IP (IPv4, IPv6), … |
2.Länk | ATM, Ethernet, FDDI, ISDN, MPLS, Token Ring, PPP, SLIP, Wi-Fi, … |
1.Fysiska | ISDN, RS232, IrDA, Bluetooth, xDSL, … |
Simple Mail Transfer Protocol (SMTP) är det vanligaste kommunikationsprotokollet för att leverera elektronisk post. Kommunikationen sker via TCP på port 25. I vissa fall kan även TCP port 587 användas. Den nuvarande specifikationen av protokollet skrevs av Jonathan B. Postel 1982, men protokollet har sedan dess fått utökningar som går utanpå den ursprungliga specifikationen.
SMTP är ett väldigt enkelt protokoll och kan i ursprungsutförande bara överföra 7-bitars tecken. Det innebär att svenska tecken som å,ä och ö eller filer, sk bilagor, inte kan överföras utan vidare. Därför används olika typer av kodning, t.ex. quoted printable för att göra om 8-bitars tecken till 7-bitars vid överföringen.
E-post som består av flera delar sätts ofta samman enligt MIME-standarden.
Innehåll |
[redigera] Hur avgörs vart ett meddelande ska skickas?
För att avgöra vilken SMTP-server som ska kontaktas för att leverera ett visst meddelande används DNS för att hämta information om mottagaradressens domän. DNS-specifikationen definierar en speciell pekartyp (record type) för detta ändamål, nämligen MX (mail exchanger) som talar om namnet på den eller de SMTP-servrar som accepterar meddelanden för en viss domän.
Tillsammans med varje datornamn finns även ett heltal beskriver om i vilken ordning klienter ska försöka kontakta servrarna. Ett lägre tal innebär högre prioritet, och om två datorer har givits samma prioritet så ska slumpen avgöra vilken som ska kontaktas. Detta sätt att rangordna servrar gör det möjligt att sätta upp backupservrar som kan acceptera meddelanden när huvudservern är otillgänglig, och genom att sätta samma prioritet för flera datorer får man en enkel form av lastbalansering. Låt oss ta ett fiktivt exempel. Om ett meddelande ska skickas till nisse@example.com så görs en DNS-uppslagning för att få reda på eventuella MX-pekare för example.com:
example.com MX 0 mail1.example.com. example.com MX 0 mail2.example.com. example.com MX 10 mail3.example.com.
Här finns det alltså tre MX-pekare för example.com. Dessa talar om att mail1.example.com eller mail2.example.com kontaktas i första hand, och om detta försök misslyckas ska mail3.example.com kontaktas.
En domän måste inte ha någon MX-pekare. Om en sådan saknas används i andra hand A-pekaren, dvs. den pekartyp som normalt används för att omvandla datornamn till IP-adresser.
Numera används systemet med backupservrar mer sparsamt än tidigare. Dels för att nätet blivit mer tillförlitligt, men även för att många som skickar ut spam utnyttjar det faktum att backupservrar i allmänhet har svagare skydd mot spam än huvudservern.
[redigera] Programvara
På serversidan är följande programvaror vanliga:
- På Unix-plattformen:
- Communigate Pro
- Courier MTA
- Exim
- Postfix
- qmail
- Scalix
- sendmail
- På Microsoft Windows-plattformen:
- MDaemon
- Microsoft Exchange
[redigera] Se även
[redigera] Externa länkar
- RFC821 - Protokollspecifikationen för SMTP.
- RFC2821 - Protokollspecifikationen för SMTP. En uppdatering av RFC821 som ännu inte antagits som standard.
- RFC822 - Specifikation av formatet för Internet-meddelanden. Beskriver bl.a. tillåtna format för epostadresser samt standardiserade fält i meddelandehuvudet.
- RFC2822 - Specifikation av formatet för Internet-meddelanden. En uppdatering av RFC822 som ännu inte antagits som standard.
- RFC1870 - Specifikation av den SMTP-utökning som möjliggör att klienter anger storleken på ett meddelanden innan det skickas.
- RFC3207 - Specifikation av den SMTP-utökning som tillåter att SMTP-trafik autentiseras och krypteras via TLS.
- RFC2920 - Specifikation av den SMTP-utökning som tillåter pipelining av kommandon, dvs. att klienten skickar flera kommandon på en gång.
- RFC2476 - Specifikation för Message Submission (TCP port 587)