SMTP: Protocolo de mensajería

Como ya sabemos, el correo electrónico es considerado el servicio de internet más utilizado. Por lo tanto, los protocolos TCP/IP nos ofrecen una fácil administración de enrutamiento del correo electrónico mediante otros protocolos. Aquí explicaremos el funcionamiento del protocolo SMTP.

El protocolo SMTP

SMPT: Simple Mail Transfer Protocol (Protocolo simple de transfencia de correo electrónico) es el protocolo que permite enviar un correo a travéz de un servidor de un punto a otro.

SMTP

Éste es un protocolo opera online, encapsulado en el marco de TCP/IP. El correo electrónico es enviado directamente al recipiente del servidor de correo. El protocolo SMTP funciona usando comandos de texto al servidor SMTP, generalmente mediante el puerto 25 por defecto. Cada comando enviado por el cliente, validado por la cadenas de caracteres ASCII CR/LF, es seguido por la respuesta del servidor SMTP que consulta un número y un mensaje descriptivo.

He aquí un caso de una solicitud de envío de correo a un servidor SMTP:

  • Cuando se abre la sesión SMTP, el primer comando a ser enviado es el comando “HELO” seguido por un espacio, escrito “<SP>”, y el nombre del dominio y tu computador, sería algo así: “hola, yo soy éste computador”. Luego es validado con un salto de línea, escrito “<CRLF>”. Desde abril de 2001, las especificaciones del protocolo SMTP son definidas en RFC 2821, lo que significa que el comando HELO es remplazado por el comando “EHLO”.
  • El segundo comando es “MAIL FROM:”, seguido por la dirección de correo del que envió el mismo. Si el comando es aceptado, el servidor devuelve el mensaje “250 OK”.
  • El siguiente comando es “RCPT TO:”, seguido por la dirección de correo del destinatario. Si el comando es aceptado, el servidor devuelve el mensaje “250 OK”.
  • El comando DATA es la tercera etapa del proceso de envío de correos electrónicos. Ésta anuncia el comienzo del cuerpo del mensaje. Si el comando es aceptado, el servidor devuelve como respuesta un mensaje intermedio numerado como el 354 indicando que el envío del cuerpo del correo forma parte de las siguientes líneas hasta el fin del mensaje que termina en una linea con un simple punto final. El cuerpo del correo posiblemente posea los siguientes headers:
      • Date, fecha
      • Subject, asunto
      • Cc, con copia
      • Bcc, con copia oculta
      • From, desde

    Si el comando es aceptado, el servidor devuelve el mensaje “250 OK”.

Aquí un ejemplo de la transacción entre el cliente (C) y el servidor (S):
S: 220 smtp.dominio.net SMTP Ready

C: EHLO machine1.dominio.net

S: 250 smtp.dominio.net

C: MAIL FROM:<webmaster@todoemailmarketing.com>

 

S: 250 OK

C: RCPT TO:<admin@todoemailmarketing.com>

 

S: 250 OK

C: RCPT TO:<manager@google.com>

 

S: 550 No such user here

C: DATA

S: 354 Start mail input; end with <CRLF>.<CRLF>

 

C: Subject: Hello

C: Hello Meandus,

C: How are things?

C:

C: See you soon!

C: <CRLF>.<CRLF>

 

S: 250 OK

C: QUIT

R: 221 smtp.dominio.net closing transmission
Las especificaciones básicas del protocolo SMTP, entienden que todos los caracteres enviados se codifican en código ASCII en 7 bits y que el octavo bit sea explícitamente cero. Entonces para enviar caracteres acentuados es necesario recurrir a algoritmos de las especificaciones MIME:

  • base 64, para archivos adjuntos.
  • quoted-printable, abreviado QP, para caracteres especiales contenidos en el cuerpo del mensaje.

Por lo tanto, es posible enviar un correo electrónico usando un simple telnet en el puerto 25 del servidor:

telnet smtp.commentcamarche.net 25

Aquí un resumen de los principales comandos SMTP:

Comando Ejemplo Descripción
HELO (Ahora EHLO) EHLO 193.56.47.125 Identificación usando la dirección IP o el nombre del dominio del computador.
MAIL FROM: MAIL FROM: originador@dominio.com Identificación con la dirección de correo original.
RCPT TO: RCPT TO: receptor@dominio.com Identificación con la dirección de correo receptor.
DATA Mensaje DATA Cuerpo del correo.
QUIT QUIT Salida del servidor.
HELP HELP Lista de comandos soportadas por el servidor.

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *