El protocol SMTP
El protocol SMTP
 

SMTP (Simple Mail Transfer Protocol) o Protocol Simple de Transferència de Correu Electrònic és un conjunt de regles que regeixen el format i la transferència de dades en un enviament de correu electrònic (e-mail).

Taula de contingut

 

 

La transferència del correu

Quan enviem un correu electrònic iniciem un seguit de passos que desencadenen diferents comunicacions SMTP que detallarem en el proper punt, primer anem a veure que comunicacions es realitzen i perquè.

Pas 1 
El autor del missatge utilitza un client de correu (pot ser un programa o una aplicació web) per escriure un missatge a un destinatari , el client de correu genera el codi SMTP del missatge i l'envia a un servidor SMTP sortint. 

Pas 2 
El servidor sortint utilitza una consulta DNS per conèixer els servidors de correu entrant del domini del destinatari(anomenats MX primari, MX secundari ...) i envia el correu SMTP al primer d'ells que respon.

Nota:
Perquè el receptor rebi el missatge ha de tenir els MX configurats en el seu servidor de DNS
 de manera que apuntin als servidors SMTP entrants


Pas 3 
Aquest servidor emmagatzema el correu a la bústia de correu al servidor del destinatari .

 

Pas 4 
Finalment el destinatari
 es connecta al servidor de correu entrant usant els protocols POP3, IMAP4 o similar ... i descarrega el correu del seu magatzem.

 

 

 

 

 

La comunicació SMTP

La comunicació SMTP es realitza per TCP i normalment en el port 25, és una comunicació tipus ordre - resposta delimitada per CRLF (Retorn de carro + Salt de línia) que podem realitzar de manera manual utilitzant la comanda telnet o amb un client de correu:
 

000 
 

telnet  smtp.example.com 25


En aquesta comunicació farem servir les següents ordres SMTP:

HELO. Obre una sessió amb el servidor 

MAIL FROM. Indica l'autor del missatge 

RCPT TO. Indica els destinataris del missatge 

DATA. Cos del missatge, finalitza amb l'ordre . . - Final del cos del missatge (ordre DATA ) 

QUIT. Tanca la sessió

I les respostes que rebrem seran, un codi i un text on el codi serà:

2XX. Ordre realitzada correctament 

3XX. Ordre correcta rebuda però no requereix acció. 

4XX. Repetir ordre correctament 

5XX. Error

 

 

Exemple

Anem a veure un exemple d'enviament de correu usant telnet:

000 smtp.example.com telnet 25  
001 <220 relay2.elsapunts.cat  
002 ESMTP Postfix (Debian/GNU)>    
003 localhost HELO
004 <250 relay2.elsapunts.cat>
005 MAIL FROM: rafa@example.com
006 <250 Ok>
007 <RCPT TO: rafa@elsapunts.cat
008 <250 Ok > 
009 DADES> Assumpte: Prova  >> Prova d'ENVIAMENT>.  
010 <250 Ok: cua com  3BDCD2DE91D>  
011 QUIT   
012 <221 Adéu>  
013  
014