¿Qué es el protocolo simple de transferencia de correo (SMTP)?

El protocolo simple de transferencia de correo (SMTP) es un estándar de red para el envío de correos electrónicos.

Metas de aprendizaje

Después de leer este artículo podrás:

  • Explicar el funcionamiento del protocolo simple de transferencia de correo (SMTP)
  • Entender los comandos, servidores y sobres SMTP
  • Definir SMTP extendido (ESMTP)

Contenido relacionado


¿Quieres saber más?

Regístrate para recibir artículos de aprendizaje sobre temas de seguridad de Cloudflare.

Revisa la política de privacidad de Cloudflare para saber más sobre cómo Cloudflare gestiona tus datos personales.

Copiar el enlace del artículo

¿Qué es el protocolo simple de transferencia de correo (SMTP)?

Es un estándar técnico para la transmisión de correo electrónico a través de una red. Al igual que otros protocolos de red, SMTP permite a los ordenadores (computadoras) y servidores intercambiar datos independientemente de su hardware o software subyacente. Al igual que el uso de una forma estandarizada de escribir una dirección en un sobre permite el funcionamiento del servicio postal, el protocolo SMTP estandariza la forma en que el correo electrónico viaja del remitente al destinatario, permitiendo la entrega generalizada de correo electrónico.

SMTP es un protocolo de entrega de correo, no un protocolo de recuperación de correo. Un servicio postal entrega el correo en un buzón, pero el destinatario tiene que recuperar el correo del buzón. Del mismo modo, el protocolo SMTP entrega un correo electrónico al servidor de correo de un proveedor de correo electrónico, pero se utilizan protocolos independientes para recuperarlo del servidor de correo para que el destinatario pueda leerlo.

¿Cómo funciona el protocolo SMTP?

Todos los protocolos de red siguen un proceso predefinido para el intercambio de datos. SMTP define un proceso para el intercambio de datos entre un cliente de correo electrónico y un servidor de correo. Un cliente de correo electrónico es con lo que interactúa un usuario: el ordenador (computadora) o la aplicación web donde accede y envía los correos electrónicos. Un servidor de correo es un ordenador o computadora especializada en enviar, recibir y reenviar correos electrónicos. Los usuarios no interactúan directamente con los servidores de correo.

A continuación, resumimos lo que pasa entre el cliente de correo electrónico y el servidor de correo para que comience el envío:

  • Apertura de la conexión SMTP: dado que SMTP utiliza el protocolo de control de transmisión (TCP) como protocolo de transporte, este primer paso comienza con una conexión TCP entre el cliente y el servidor. A continuación, el cliente de correo electrónico comienza el proceso de envío del correo con un comando especializado "Hello" (HELO o EHLO, descrito más adelante).
  • Transferencia de los datos del correo electrónico: el cliente envía al servidor una serie de comandos acompañados del contenido real del correo electrónico. El encabezado del correo (incluido el destino y el asunto), el cuerpo del correo y cualquier otro elemento.
  • Agente de transferencia de correo (MTA): el servidor ejecuta un programa llamado agente de transferencia de correo (MTA). El MTA comprueba el dominio de la dirección de correo electrónico del destinatario y, si difiere de la del remitente, consulta el sistema de nombres de dominio (DNS) para encontrar la dirección IP del destinatario. Es como si una oficina de correos buscara el código postal del destinatario del correo.
  • Cierre de la conexión: el cliente avisa al servidor cuando la transmisión de datos ha terminado, y el servidor cierra la conexión. En este punto, el servidor no recibirá más datos de correo electrónico del cliente a menos que este abra una nueva conexión SMTP.

Normalmente, este primer servidor de correo electrónico no es el destino final del correo. El servidor, tras recibir el correo electrónico del cliente, repite este proceso de conexión SMTP con otro servidor de correo. Ese segundo servidor hace lo mismo, hasta que finalmente el correo electrónico llega a la bandeja de entrada del destinatario en un servidor de correo controlado por el proveedor de correo electrónico del destinatario.

Compara este proceso con la forma en que un correo viaja del remitente al destinatario. Un cartero no lleva una carta directamente del remitente al destinatario. En su lugar, el cartero lleva la carta a su oficina de correos. Esta envía la carta a otra oficina de correos en otra ciudad, luego a otra, y así sucesivamente hasta que la carta llega al destinatario. Del mismo modo, los correos electrónicos viajan de servidor en servidor a través de SMTP hasta que llegan a la bandeja de entrada del destinatario.

¿Qué es un sobre SMTP?

El "sobre" SMTP es el conjunto de información que el cliente de correo electrónico envía al servidor de correo sobre la procedencia del correo y su destino. El sobre SMTP es distinto del encabezado y el cuerpo del correo electrónico y no es visible para el destinatario del mismo.

¿Qué son los comandos SMTP?

Son comandos predefinidos basados en texto que indican al cliente o al servidor qué hacer y cómo gestionar los datos adjuntos. Piensa en ellos como botones que el cliente puede pulsar para que el servidor acepte los datos correctamente.

  • HELO/EHLO: estos comandos dicen "Hello" e inician la conexión SMTP entre el cliente y el servidor. "HELO" es la versión básica de este comando. "EHLO" es para un tipo especializado de SMTP.
  • MAIL FROM: indica al servidor quién envía el correo electrónico. Si Alicia intentara enviar un correo electrónico a su amigo Bob, un cliente podría enviar "MAIL FROM: "<alicia@example.com>".
  • RCPT TO: este comando sirve para enumerar los destinatarios del correo electrónico. Un cliente puede enviar este comando varias veces si hay varios destinatarios. En el ejemplo anterior, el cliente de correo electrónico de Alicia enviaría "RCPT TO: <bob@example.com>".
  • DATA: precede al contenido del correo electrónico, como:

DATA
Fecha: Lunes, 4 abril de 2022
De: Alicia alicia@example.com
Asunto: Guiso de huevos Benedict
Para: Bob bob@example.com

Hola Bob,
Llevaré la receta del guiso de huevos Benedict el viernes.
-Alicia
.
  • RSET: este comando reinicia la conexión, eliminando toda la información transferida previamente sin cerrar la conexión SMTP. RSET se utiliza si el cliente ha enviado información incorrecta.
  • QUIT: termina la conexión.

¿Qué es un servidor SMTP?

Es un servidor de correo que puede enviar y recibir correos electrónicos utilizando el protocolo SMTP. Los clientes de correo electrónico se conectan directamente con el servidor SMTP del proveedor de correo electrónico para comenzar a enviar un correo. En un servidor SMTP se ejecutan varios programas de software diferentes:

  • Agente de envío de correo (MSA): el MSA recibe los correos del cliente de correo electrónico.
  • Agente de transferencia de correo (MTA): el MTA transfiere los correos electrónicos al siguiente servidor de la cadena de entrega. Como se ha descrito anteriormente, puede consultar el DNS para encontrar el registro DNS de intercambio de correo (MX) del dominio del destinatario si es necesario.
  • Agente de entrega de correo (MDA): el MDA recibe los correos electrónicos de los MTA y los almacena en la bandeja de entrada del destinatario.

¿Qué puerto utiliza SMTP?

En redes, un puerto es el punto virtual en el que se reciben los datos de la red. Piensa en él como el número de piso en la dirección de una carta. Los puertos ayudan a los ordenadores o computadoras a clasificar los datos de red en las aplicaciones correctas. Las medidas de seguridad de red, como los firewalls, pueden bloquear los puertos innecesarios para evitar el envío y la recepción de datos malintencionados.

En el pasado, SMTP solo utilizaba el puerto 25. Hoy en día, SMTP sigue utilizando el puerto 25, pero también puede utilizar los puertos 465, 587 y 2525.

  • El puerto 25 es el más utilizado para las conexiones entre servidores SMTP. En la actualidad, los firewalls de las redes de usuarios finales suelen bloquear este puerto, ya que los servidores de correo no deseado intentan abusar de él para enviar grandes cantidades de correo no deseado.
  • El puerto 465 fue designado en su día para el uso de SMTP con encriptación de Secure Sockets Layer (SSL). Pero SSL fue sustituido por Transport Layer Security (TLS), y los sistemas de correo electrónico modernos no utilizan este puerto. Solo aparece en los sistemas heredados (obsoletos).
  • El puerto 587 es ahora el puerto por defecto para el envío de correo electrónico. Las comunicaciones SMTP a través de este puerto utilizan la encriptación TLS.
  • El puerto 2525 no está oficialmente asociado a SMTP, pero algunos servicios de correo electrónico ofrecen el envío de SMTP a través de este puerto en caso de que los puertos anteriores estén bloqueados.

SMTP vs. IMAP y POP

El protocolo de acceso a mensajes de Internet (IMAP) y el protocolo de oficina de correo (POP) se utilizan para entregar el correo electrónico a su destino final. El cliente de correo electrónico tiene que recuperar el correo del servidor de correo final en la cadena para poder mostrar el correo al usuario. Para ello, el cliente utiliza IMAP o POP en lugar de SMTP.

Para entender la diferencia entre SMTP e IMAP/POP, piensa en la diferencia entre una tabla de madera y una cuerda. Un trozo de madera se puede utilizar para empujar un objeto hacia delante, pero no para tirar de él. Una cuerda puede tirar de un objeto, pero no puede empujarlo. Del mismo modo, SMTP "empuja" el correo electrónico a un servidor de correo, pero IMAP y POP "tiran" de él el resto del camino hasta la aplicación del usuario.

¿Qué es SMTP extendido (ESMTP)?

El protocolo simple de transferencia de correo extendido (ESMTP) es una versión del protocolo que amplía sus funciones originales, permitiendo el envío de archivos adjuntos al correo electrónico, el uso de TLS y otras funciones. Casi todos los clientes y servicios de correo electrónico utilizan ESMTP, no SMTP básico.

ESMTP tiene algunos comandos adicionales, como "EHLO", un mensaje "hello extendido" que permite el uso de ESMTP al inicio de la conexión.

¿Qué es Cloudflare Email Routing?

Cloudflare Email Routing está diseñado para simplificar la creación y la gestión de direcciones de correo electrónico, sin necesidad de estar pendiente de buzones de correo adicionales. Con Email Routing, los usuarios pueden crear infinitas direcciones de correo electrónico personalizadas para utilizarlas en situaciones en las que no quieran compartir su dirección de correo electrónico principal. Los correos electrónicos se dirigen a su buzón de correo electrónico preferido, sin tener que exponer nunca la dirección de correo electrónico principal.

Cloudflare Email Routing funciona modificando el sobre SMTP de un correo electrónico, sin cambiar el encabezado ni el cuerpo. Para más información, consulta nuestra publicación del blog.