Simple Mail Transfer protocol

De Viquipèdia

Tecnologies i protocols
de xarxa*
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