El correo electrónico es una de las aplicaciones más antiguas y fundamentales de internet, y el SMTP (Protocolo Simple de Transferencia de Correo) es el motor subyacente que impulsa el envío de correos electrónicos. Comprender cómo funciona el SMTP no solo puede ayudarte a solucionar problemas de envío de correo electrónico, sino también a entender mejor fenómenos comunes como los mensajes de rebote y el filtrado de spam.
Los tres protocolos principales de un sistema de correo electrónico
Antes de adentrarnos en SMTP, comprendamos los tres protocolos involucrados en los sistemas de correo electrónico, cada uno con su propia función:
| protocolo | Nombre completo | efecto | analogía |
|---|---|---|---|
| SMTP | Protocolo simple de transferencia de correo | Responsable de enviar y reenviar correos electrónicos. | Camiones de reparto de correos |
| POP3 | Acuerdo de la Oficina Postal, Versión 3 | Descarga los correos electrónicos del servidor a tu ordenador local. | Ve a la oficina de correos a recoger la carta y llévatela a casa. |
| IMAP | Protocolo de acceso al correo electrónico de Internet | Gestionar y leer correos electrónicos en el servidor. | Leer las cartas en el acto en la oficina de correos |
En pocas palabras: SMTP se encarga del envío de correos electrónicos, mientras que POP3 e IMAP se encargan de la recepción. Este artículo se centra en cómo SMTP entrega los correos electrónicos del remitente al destinatario.
El recorrido completo de un correo electrónico
Supongamos que Alice (alice@gmail.com) envía un correo electrónico a Bob (bob@yahoo.com), este correo electrónico pasará por las siguientes seis etapas:
Fase 1: Redacción y presentación
Alice redacta un correo electrónico en el navegador web o cliente de Gmail y hace clic en "Enviar". El correo electrónico se envía desde el navegador (o cliente de correo) al servidor de envío de correo de Gmail (normalmente smtp.gmail.com, puerto 587) mediante el protocolo SMTP .
Este paso requiere la verificación de identidad: Alice primero debe iniciar sesión en su cuenta de Gmail, y el servidor confirmará que está autorizada a enviar correos electrónicos utilizando la dirección alice@gmail.com.
Fase dos: Consulta DNS
Cuando el servidor de envío de Gmail recibe un correo electrónico, necesita saber a dónde enviarlo. Para ello, consulta el DNS (Sistema de Nombres de Dominio) del dominio del destinatario, yahoo.com, para obtener su registro MX (Registro de Intercambio de Correo).
El registro MX devolverá la dirección del servidor de correo de Yahoo, por ejemplo:
yahoo.com MX prioridad 1 mta5.am0.yahoodns.net yahoo.com MX prioridad 5 mta6.am0.yahoodns.net yahoo.com MX prioridad 5 mta7.am0.yahoodns.net
El servidor intentará primero con el registro MX de mayor prioridad (número más bajo). Si ese servidor no está disponible, intentará con el siguiente.
Fase 3: Protocolo de enlace SMTP
Los servidores de Gmail establecen una conexión TCP (normalmente usando el puerto 25) con los servidores de correo de Yahoo y luego inician un "diálogo" estandarizado. Este es el núcleo del protocolo SMTP: una serie de comandos y respuestas.
Conexión establecida Yahoo: 220 mta5.am0.yahoodns.net ESMTP listo Gmail: EHLO mail.gmail.com Yahoo: 250-mta5.am0.yahoodns.net Hola Yahoo: 250-STARTTLS Yahoo: 250 OK Actualizar a conexión cifrada Gmail: STARTTLS Yahoo: 220 listos para comenzar TLS Informar al remitente y al destinatario. Gmail: CORREO DE: <alice@gmail.com> Yahoo: 250 OK Gmail: RCPT TO:<bob@yahoo.com> Yahoo: 250 OK Transmitir contenido del correo electrónico Gmail: DATOS Yahoo: 354 Iniciar entrada de correo Gmail: De: Alice <alice@gmail.com> Gmail: Para: Bob <bob@yahoo.com> Gmail: Asunto: ¡Hola Bob! Gmail: Gmail: Hola Bob, ¿cómo estás? Gmail: . Yahoo: 250 OK, mensaje en cola Desconectar Gmail: SALIR Yahoo: 221 Adiós
Todo el proceso de diálogo es claro y ordenado: primero, un saludo (EHLO), luego el cifrado (STARTTLS), después la información del remitente y del destinatario y, finalmente, el contenido del mensaje (DATA).
Fase cuatro: Procesamiento del destinatario
Después de que el servidor de correo de Yahoo recibe un correo electrónico, realiza una serie de comprobaciones:
- Verifica si el destinatario, bob@yahoo.com, existe. Si no existe, devuelve un mensaje de rebote (rebote permanente).
- Autenticación: Compruebe los registros SPF, DKIM y DMARC para verificar la identidad del remitente.
- Filtrado de spam: Analiza el contenido del correo electrónico para determinar si se trata de spam.
- Análisis antivirus: Compruebe los archivos adjuntos en busca de malware.
Una vez finalizadas todas las comprobaciones, el correo electrónico fue entregado al buzón de Bob.
Fase 5: Almacenamiento de correo electrónico
Los correos electrónicos se almacenan en los servidores de correo de Yahoo, a la espera de que Bob los lea. Se colocarán en la bandeja de entrada, la carpeta de correo no deseado u otras carpetas según las reglas de filtrado.
Fase seis: Lectura del destinatario
Bob abre su correo de Yahoo y recupera el contenido del servidor mediante IMAP o POP3 . Si usa la versión web, lee el correo directamente en su navegador a través de HTTP/HTTPS.
Explicación detallada de los comandos SMTP clave
| Orden | significado | ilustrar |
|---|---|---|
EHLO | saludar | Identifícate ante el otro servidor y pregunta sobre las extensiones compatibles. |
STARTTLS | Actualizar el cifrado | Actualice las conexiones de texto plano a conexiones cifradas TLS para proteger el contenido del correo electrónico durante la transmisión. |
MAIL FROM | remitente | La dirección del remitente del correo electrónico de declaración (la dirección del remitente en el sobre). |
RCPT TO | beneficiario | Especifique las direcciones de correo electrónico de los destinatarios de la declaración (se permiten varias direcciones). |
DATA | Cuerpo del correo electrónico | Comience a transmitir el encabezado y el cuerpo del correo electrónico, terminando con un punto (.) en una línea separada. |
QUIT | desconectar | Finalizar sesión, cerrar conexión |
Significado de los códigos de respuesta SMTP
Cada respuesta de un servidor SMTP comienza con un número de tres dígitos, donde diferentes números representan diferentes estados:
| Código de respuesta | significado | Ejemplo |
|---|---|---|
| 2xx | éxito | 250 OK — Comando ejecutado correctamente |
| 3xx | Necesito más información | 354 Iniciar entrada de correo electrónico: esperando el contenido del correo electrónico. |
| 4xx | Error temporal (reversión suave) | 421 Servicio temporalmente no disponible / 450 Correo electrónico ocupado |
| 5xx | Error permanente (reversión forzada) | 550 El usuario no existe / 553 Formato de dirección incorrecto |
Estos códigos de respuesta son extremadamente útiles para solucionar problemas de entrega de correo electrónico. Cuando recibes una notificación de rebote, el código de respuesta incluido puede ayudarte a identificar rápidamente la causa.
Número de puerto SMTP
SMTP utiliza diferentes puertos para proporcionar diferentes funciones:
- Puerto 25: El puerto estándar para la transmisión de correos electrónicos entre servidores. Muchos proveedores de servicios de Internet (ISP) bloquean este puerto para evitar el spam.
- Puerto 587: Puerto recomendado para correos electrónicos enviados por el usuario, compatible con el cifrado y la autenticación STARTTLS.
- Puerto 465: Un puerto antiguo que utiliza cifrado SSL/TLS implícito; algunos servicios todavía lo utilizan.
Si está configurando un cliente de correo electrónico o un servicio SMTP, se recomienda utilizar la combinación del puerto 587 y STARTTLS .
Limitaciones y mejoras modernas de SMTP
SMTP se desarrolló en 1982 (RFC 821), cuando Internet no enfrentaba amenazas de seguridad. Por lo tanto, el protocolo SMTP original tenía algunas deficiencias inherentes:
- Sin cifrar: Los datos transmitidos originalmente por SMTP se transmitieron en texto plano, lo que posteriormente se resolvió mediante la extensión STARTTLS.
- Sin autenticación: Cualquiera puede hacerse pasar por cualquier remitente y luego ocultarlo con SPF, DKIM o DMARC.
- Sin confirmación de entrega: El remitente no puede saber con certeza si el correo electrónico ha llegado a la bandeja de entrada del destinatario.
A pesar de estas limitaciones, SMTP sigue siendo el protocolo principal de los sistemas de correo electrónico globales. Gracias a la continua incorporación de extensiones de seguridad, mantiene la compatibilidad con versiones anteriores a la vez que se adapta a los requisitos de seguridad de internet actual.
Resumir
El recorrido de un correo electrónico es mucho más complejo de lo que podrías imaginar: desde que el usuario hace clic en enviar, pasando por las consultas DNS, el protocolo SMTP, la autenticación, el filtrado de spam y, finalmente, su llegada a la bandeja de entrada del destinatario, cada paso está respaldado por protocolos y reglas estrictas. Comprender estos mecanismos subyacentes puede ayudarte a gestionar mejor tu cuenta de correo electrónico, solucionar problemas de envío y optimizar las tasas de entrega.