Llegas a la oficina, ya te has servido una taza de café, has charlado en el enfriador de agua, te sientas en tu escritorio y empiezas a escribir: “Queridos colegas, bla, bla, bla“, y entonces, después de que todos tus colegas sean colocados en tu dirección, te preguntas de repente: ¿cómo funciona esto? ¿Por qué y cómo mi correo llega a mis colegas? Muy sencillo: te diré cómo.
Envío de Correo: Funcionamiento y SMTP
Empecemos por el envío. Una vez que hayas terminado de escribir tu correo electrónico y hayas pulsado el botón de Enviar, tu cliente de correo electrónico (Outlook, Thunderbird, Gmail o Yahoo) lo enviará al servidor utilizando el Protocolo simple de transferencia de correo (SMTP, Simple Mail Transfer Protocol). Ahí es donde empiezan los primeros problemas. El hecho es que este protocolo es realmente “simple“. Se remonta a 1982 y, como se recordará, por aquel entonces la seguridad no era un problema, por lo que todo el correo electrónico se enviaba sin cifrar, los usuarios no se autentificaban y los hackers lo utilizaban para enviar spam.

Así que en 2008 decidieron añadir funciones como el cifrado, la autorización, los conjuntos de caracteres de 8 bits y muchas otras cosas útiles y lo llamaron todo ESMTP (Enhanced Simple Mail Transfer Protocol), donde E significa Extendido/Mejorado, es decir, ampliado. Pero incluso después el protocolo se llama simplemente SMTP.
En resumen, el SMTP funciona con un modelo cliente-servidor. Envía comandos al servidor de correo y recibe respuestas de éste con los resultados de su procesamiento.
Las respuestas del servidor son valores de código, que se dividen en 5 tipos. Los que tienen un código de 200
están bien y los que tienen un código de 500
no están bien.
¿Te recuerda algo? Sí, muy similar a los códigos de estado HTTP
Cuando se envía un correo electrónico de forma estándar, ocurre lo siguiente:
- Tu cliente se conecta al servidor.
- El servidor le da una lista de comandos disponibles
- Tu cliente envía comandos que contienen la dirección del remitente, la dirección del destinatario y el propio mensaje
- El servidor pone tu mensaje en su cola para ser enviado y si todo está bien, lo envía.
- Y en caso de que te preocupes por la seguridad, el cliente también autentificará y encriptará el mensaje antes de enviarlo.
Por cierto, puedes poner lo que quieras en la dirección del remitente y no recibirás nada por ello. Lo que ocurre es que el SMTP no lleva incorporada la autenticación del remitente, sino que utiliza mecanismos externos. El más simple es mapear el dominio y la dirección IP del remitente a través de una consulta DNS. Entonces, si decides fingir ser Elon Musk y escribirle a alguien una carta pidiéndole que vierta un poco de Bitcoins, lo más probable es que caiga en spam.
SMTP se usa no solo para enviar correos electrónicos de un cliente a un servidor, sino también para transferir tu correo entre servidores de correo.
Digamos que si escribieras a Elon, tu correo electrónico iría primero a tu servidor local, que probablemente no está en el dominio spacex.com, por lo que tu servidor utilizaría el mismo DNS para buscar en Internet el servidor de correo responsable de enrutar el correo electrónico para el dominio Space X. Por cierto, esto se llama registro MX. Cuando se encuentre esta información, el servidor dirigirá tu correo electrónico hacia allí utilizando SMTP.
El puerto TCP 25 estaba reservado para SMTP, pero hay dos puertos más – 465
y 587
, ambos son para la comunicación segura entre el cliente y el servidor, y el 25
estaba destinado sólo a la comunicación entre servidores de correo.
Estupendo, ahora tu correo electrónico, tras haber pasado por todos los sistemas antispam y de validación, está en el servidor de correo del destinatario esperando a ser leído y pasamos a la segunda acción, la recepción.
Recepción de Correo: IMAP y POP3
Aquí hay dos opciones. Tu cliente recibirá el correo a través de IMAP (Internet Message Access Protocol) o a través de un protocolo con el no tan bonito nombre de POP3 (Post Office Protocol 3).
Para POP3, el servidor de correo actúa como un repositorio temporal de correos electrónicos. Un cliente configurado para trabajar con POP3 recurrirá periódicamente al servidor y le preguntará: – ” ¿Hay por ahí algún correo?“, El servidor le responderá: – “Sí, lo hay“, entonces el cliente responderá: – “Estupendo, ponlo todo aquí y borra todas las copias para que yo sea el único que tenga los correos“
Exactamente, en el caso de POP3 el cliente sólo guardará todos los correos, pero esto tiene la ventaja de que aunque te quedes sin internet, puedes seguir accediendo a tus correos. Tengo que decir que se puede pedir al propio cliente (no al POP3) que guarde una copia de los correos.
Y aquí hay más datos molestos sobre POP3:
- Sólo funciona en un cliente, es decir, si has abierto un cliente con POP3 en tu ordenador, no puedes ver tu correo desde un teléfono móvil.
- Además, no puedes poner los correos en carpetas, establecer filtros, marcar la importancia, etc.
¿Eh? ¿Qué te parece, cómodo? Bueno, veamos qué otras opciones hay.
Puedes configurar tu cliente para trabajar con el protocolo IMAP, y entonces el servidor de correo se encargará de todo el tráfico. En este caso, tu cliente de correo electrónico sólo será necesario como una interfaz para trabajar con el correo. Al mismo tiempo, podrás acceder a tu buzón desde cualquier lugar. Si estás sentado en tu escritorio, puedes leer tu correo desde tu PC, si vas al baño, puedes leerlo desde tu móvil, o puedes usar tu cliente web y acceder a él a través de Internet.

Ah, sí, un buen extra es que con IMAP puedes personalizar las carpetas, marcar los correos como importantes, solicitar el estado de lectura de los correos, hacer búsquedas sofisticadas en los correos y mucho más.
Pero esto tiene sus inconvenientes. Porque es demasiado complicado con IMAP, se tarda mucho más en procesar los correos electrónicos y “no hay mucho espacio para ello de todos modos“. Si almacenas constantemente todos los correos electrónicos sin rotación, tarde o temprano el buzón se obstruirá.