Simple Mail Transfer protocol
De Viquipèdia
Capa | Protocols |
Aplicació | DNS, FTP, HTTP, IMAP, IRC, NFS, NNTP, NTP, POP3, SMB/CIFS, SMTP, SNMP, SSH, Telnet, TFTP |
Presentació | ASN.1, MIME, SSL/TLS, XML |
Sessió | NetBIOS, SIP |
Transport | RTP, RTCP, SCTP, SPX, TCP, UDP |
Xarxa | AppleTalk, ARP, IP, IPX, NetBEUI, X.25 |
Enllaç de dades | ATM, Ethernet, Frame Relay, HDLC, PPP, Token Ring, Wi-Fi |
Física | Cable coaxial, Cable de fibra òptica, Cable de parells trenats, Microones, Ràdio, RS-232 |
* segons el model OSI | |
edita |
SMTP és l'acrònim de Simple Mail Transfer Protocol, és a dir protocol simple de transferència de correu i és un protocol de xarxa basat en text utilitzat per a l'intercanvi de missatges de correu electrònic entre ordenador i/o diversos dispositius (PDAs, mòbils, etc). Per poder adaptar-se a les necessitats sorgides del creixement i la popularitat d'Internet s'han creat diverses ampliacions d'aquest protocol, com ara poder enviar text amb format o fitxers adjunts.
SMTP es basa en el model client-servidor, on un client envia un missatge a un o a diversos receptors.
En el conjunt de protocols TCP/IP, l'SMTP va per damunt del TCP i utilitza normalment el port 25 al servidor per establir la connexió.
[edita] Exemple de comunicació
En primer lloc cal establir una connexió entre l'emisor (client) i el receptor (servidor). Això es pot fer automàticament amb un programa client de correu o mitjançant un client TELNET.
Servidor: 220 Servidor ESMTP Client: HELO Servidor: 250 Hello, please meet you Client: MAIL FROM: jo@dominio.com Servidor: 250 Ok Client: RCPT TO: destinatari@sudomini.com Servidor: 250 Ok Client: DATA Servidor: 354 End data with <CR><LF>.<CR><LF> Client: Subject: Camp d'assumpte Client: From: jo@domini.com Client: To: destinatari@subdomini.com Client: Client: Hola, Client: Això és una prova. Client: Adéu. Client: . Servidor: 250 Ok: queued as 12345 Client: quit Servidor: 221 Bye
A l'exemple es poden veure les ordres bàsiques d'SMTP:
- HELO per obrir una sessió amb el servidor
- MAIL FROM per indicar qui envia el missatge
- RCPT TO per indicar el destinatari
- DATA per indicar l'inici del missatge, que finalitzarà quan hi hagi una línia amb tan sols un punt.
- QUIT per tancar la sessió
Les respostes que dóna el servidor poden ser de diverses classes:
- 2XX per a una resposta afirmativa
- 3XX per a una resposta temporal afirmativa
- 4XX per a una resposta d'error. S'espera fins que es repeteixi l'instrucció
- 5XX per a una resposta d'error
Un cop el servidor rep el missatge finalitzat amb un punt el pot:
- Emmagatzemar si és per a un destinatari que pertany al seu domini
- Retransmetre'l a un altre servidor perquè finalment arribi a un servidor del domini receptor