¿Cómo funciona el correo electrónico?
No hace falta apostar mucho para saber que, como usuarios, enviáis emails a diario. Incluso en plenas vacaciones, no podéis evitar consultar si os ha llegado algún mensaje nuevo, sobre todo si tenéis algún lío en el trabajo: “venga, solo un momento, así me ahorro andar revisando todo a la vuelta”.
La gestión del correo se ha convertido en un hábito rutinario en nuestras vidas, pero, ¿acaso sabemos algo de cómo funcionan los emails?, ¿qué sucede realmente cuando hacemos clic en “enviar”? Nadie mejor que El rincón del email para explicaros estos y otros misterios sobre el mundo del correo electrónico.
Protocolos y servidores
Preámbulo: Redes e IP
De manera amplia, podemos decir que los mensajes transitan a través de la red informática. Esta red informática consiste en un conjunto de ordenadores que disponen de la capacidad de poder comunicarse, intercambiar datos o interactuar unos con otros. Existen dos nociones fundamentales que debemos tener en consideración en este punto: el reconocimiento de las máquinas entre sí y el transporte de la información.
Para que las máquinas puedan reconocerse entre ellas, disponen de una identidad: es lo que llamamos la dirección IP. Cada máquina dispone de una IP propia y única, como un DNI, que permite a los diferentes ordenadores encontrase. Generalmente, una IP tiene este tipo de formato: 212.85.150.134.
De este modo, cuando un usuario se conecta a internet, su ordenador dispone obligatoriamente de una IP, y cualquiera que sea la web a la que acceda, esta dispone a su vez de una IP. La URL de cualquier web, (www.alinto.es, por ejemplo) está gestionada por un servidor DNS (domain name server) que indica a qué dirección IP está ligada. De esta manera, tanto el ordenador de origen como la página web consultada “se reconocen” a través de su IP y pueden “dialogar”.
Los servidores
Estas máquinas que nos permiten navegar, comunicar o acceder a páginas web se llaman servidores y, en la jerga informática, los usuarios somos considerados como clientes (del inglés: client). Esta terminología server/client es una herencia de la arquitectura informática de los años 80, como oposición a los grandes sistemas (mainframe).
A su vez, los protocolos son los lenguajes utilizados entre servidores. En función de la función del servidor, utilizará un lenguaje u otro.
Por ejemplo, al acceder a una página web, los servidores utilizan el protocolo http. Su trabajo será “enviar” la página web a los clientes que la soliciten.
Los servidores de correo electrónico
Los servidores de email funcionan de la misma manera en que lo haría Correos. El usuario escribe su correo, lo envía, y el servidor de correo, que podríamos comparar con el centro de clasificación de Correos, se encarga del tránsito y envío al servidor de correo del destinatario, permitiéndole recuperar sus mensajes de diferentes maneras:
– A través de los protocolos POP o IMAP si utiliza un cliente de correo “pesado” (Outlook, Thunderbird, Mail, etc).
– A través del protocolo http si utiliza un cliente “ligero”, más conocido como webmail.
Cuando los emails son enviados, se utiliza un servidor SMTP (Simple Mail Transfer Protocol) que puede pertenecer, ya sea a vuestro proveedor de acceso a internet o al de algún prestatario independiente que llamaremos Email Service Provider.
Algunas precisiones
La magia de la informática reside fundamentalmente en la idea de multitarea: un ordenador está pensado para realizar diversas funciones. Si no, ¿cómo podríamos enviar y recibir emails al mismo tiempo que, por ejemplo, consultamos una página web? Para poder realizar estas funciones, los ordenadores utilizan lo que llamamos puertos; un poco como los marítimos, pero destinado a recibir o enviar una única mercancía.
Para simplificar la configuración de los diferentes puestos, se atribuyen puertos precisos a cada tipo de servicio. En el email funcionan:
• Puertot 21 para los servidores FTP.
• Puerot 80 para los servidores HTTP.
• Puerto 25 para los servidores SMTP.
• Puerto 110 para los servidores POP.
• Puerto 143 para los servidores IMAP.
• Etc…
Por último, los puertos de un ordenador están permanentemente a la escucha para saber si una orden de envío o recepción ha llegado.
El protocolo TelNet
Antes de la llegada de Internet estaba su ancestro, Arpanet.
En esta época, los investigadores consiguieron realizar operaciones a distancia entre ordenadores. Y finalmente en 1972 se crea un comando para comunicar a distancia via red, llamado TELNET. Fue une de los primeros protocolos creados.
Algunas cifras sobre la evolución de Internet:
• 1969 – Creación de Arpanet
• 1971 – Invención del correo electrónico por Ray Tomlinson
• 1972 – Definición del protocole Telnet
• 1974 – Creación de TCP/IP
• 1991 – Nacimiento de la Web: Internet como lo conocemos hoy en día
Telnet está integrado en todos los ordenadores y utiliza el puerto 23.
En el caso del email, una solicitud de Telnet permitirá verificar la disponibilidad de un servidor SMTP.
El protocolo SMTP: envío de emails
La primera etapa para realizar un envío es confirmar si el servidor de envío está a la escucha. Para ello, interrogaremos al puerto 25, y como resultado a esta demanda, podremos obtener diferentes respuestas:
• 220: esto quiere decir que la conexión se ha establecido correctamente y que el servidor está listo.
• mwinf8407.alinto.com: es el nombre del servidor.
• ESMTP: se trata del tipo de servidor (ESMTP es una evolución del protocolo SMTP, pero son muy parecidos).
En caso de error, el usuario recibe un mensaje de error tipo: “421 mwinf8407.alinto.com Error:Timeout exceeded”. 421 quiere decir: «servicio no disponible ».
Aquí tenéis algunas indicaciones para reconocer las diferentes familias de cifrado:
• Los códigos en 200 indican que la solicitud se ha producido con éxito.
• Los códigos en 300 indican que la solicitud está en proceso de ejecución.
• Los códigos en 400 indican un error temporal (¡pocos hay que no conozcan todavía el famoso error 404!).
• Los códigos 500 indican que la solicitud no es válida o que no ha podido ser tratada.
Cuando el servidor está disponible, el cliente de correo se presenta, se autentifica y finalmente el email puede ser enviado.
¿Por qué es necesaria la autenticación para enviar un email?
Esto permite limitar el envío de spam y garantiza al servidor SMTP que eres realmente la persona que realiza el envío. Esto no es obligatorio si su proveedor de acceso a internet es el encargado de proveerle el servicio de email, ya que se encarga de reconocer el ordenador del usuario gracias a su dirección IP. Pero si un malware malicioso envía emails desde el ordenador de un usuario, éste será bloqueado rápidamente.
Con respecto a la autenticación, el diálogo protocolario se parece a algo como esto:
auth login
334 VXNlcm5hbWU6
cGF1bA==
334 UGFzc3dvcmQ6
MTIz
235 plain authentication successful
Incomprensible, ¿eh? Pero como podéis observar, aparece el código 235. Esto quiere decir que todo ha ido bien.
Como meros usuarios nunca os veréis en la necesidad de introducir o leer este tipo de código, pero si os interesa, lo encontraréis en las cabeceras de vuestros emails. Si queréis saber cómo recuperar la cabecera de un email, podéis informaros en este post.
Ahora ya podemos ponernos a componer un email con su remitente, destinatario y contenido. Enseguida enviaremos estos elementos al servidor, bajo un formato parecido al siguiente:
mail from: <pedro@netplus.ch> 250 Ok
rcpt to: <laura@alinto.com>
250 OK
data
354 End data with.
¡Hola! Te mando los documentos que me pediste.
Para el común de los mortales, podemos interpretarlo como:
• El email ha sido enviado de parte de Pedro desde Net Plus en Suiza
• Se trata de un usuario autorizado (no está en una lista negra)
• El mensaje se ha enviado a Laura, en Alinto
• El buzón de Laura es conocido y está disponible
• El mensaje: “¡Hola! Te mando los documentos que me pediste”.
La dirección de correo
Compuesta por dos partes separadas por una arroba, se trata de la dirección digital del usuario; a día de hoy está tan normalizada como la dirección postal.
La primera parte hace referencia al usuario de la dirección, es su identificador frente al servidor de correo, y es único.
La segunda parte, situada tras la arroba, hace referencia al dominio de correo que permite saber precisamente dónde está localizado el servidor. El nombre permitirá encontrar la dirección IP del usuario gracias al servidor DNS.
Del mismo modo que el correo postal, el servidor SMTP entrega el email en el dominio y lo introduce en el buzón del usuario que lleva su nombre.
¡Tan simple como eso!
El protocolo POP: recibir un email
El POP3 o Post Office Protocol (literalmente “protocolo de oficina de correos”) permite recoger los mensajes situados en un servidor de correo electrónico.
Los clientes de correo como Outlook, Mail, Thunderbird, etc, utilizan el protocolo POP o IMAP para poder recuperar los mensajes. Cuando utilizan POP, se conectan al servidor de correo, se autentifican, recupera los emails del Inbox (buzón de entrada del servidor) hacia el buzón de entrada del cliente de correo. Así, lo mensajes se almacenan en local, es decir, en el disco duro del ordenador del usuario. Aún así, el POP permite guardar una copia de los mensajes en el servidor durante un período determinado de tiempo (a definir en el cliente de correo). Históricamente este protocolo se ha utilizado más frecuentemente que el IMAP, ya que evita los inconvenientes de un almacenaje demasiado restrictivo sobre el servidor y poder trabajar sin conexión a Internet (lo que es cada vez menos frecuente).
El punto débil de este protocolo es que no realiza ninguna clase de sincronización con el servidor. Esto quiere decir que, si el usuario consulta sus emails al mismo tiempo en un ordenador y un Smartphone, los mensajes que ya se hayan leído, clasificado o eliminado en el ordenador, seguirán apareciendo en el Smartphone como no leídos. Todas las acciones efectuadas en una cuenta de correo en POP, como la clasificación de emails, creación de carpetas o la gestión de etiquetas solo son el resultado de las posibilidades ofrecidas por el cliente de correo (Outlook, Thunderbird, Mail,), no se corresponden con acciones reales efectuadas en el servidor.
El protocolo IMAP: recibir un email
El IMAP4: Internet Message Access Protocol (IMAP), se trata de un protocolo que permite acceder a los mensajes directamente sobre el servidor email. Mientras que el POP recupera los mensajes y los almacena el ordenador, con el IMAP el usuario consulta directamente los mensajes en línea y en perfecta sincronización con el servidor.
El protocolo IMAP autoriza varias conexiones simultáneas al buzón de correo, lo que permite por ejemplo consultar los mensajes desde un PC y un Smartphone. De este modo, un email leído o clasificado en una carpeta desde un Smartphone, lo estará también en el Outlook o Thunderbird del ordenador. Y lo que es todavía mejor, el webmail utiliza este mismo protocolo para recuperar el email y gestionar las carpetas. De este modo, desde el ordenador de otra persona o en una cafetería, el usuario podrá acceder a su cuenta de correo con sus carpetas… Y podrá del mismo modo aplicar filtros de correo desde el webmail sobre el servidor para ganar tiempo en la gestión diaria de los mensajes.
El otro punto fuerte es que cuando cambias de ordenador o teléfono, no es necesario transferir los emails de un puesto a otro, basta con crear de nuevo la cuenta en el cliente de correo.
El único inconveniente de este protocolo que permite un uso universal del email es la problemática de disponer de suficiente capacidad de almacenamiento en el servidor (y un buen proveedor). No obstante, con los estándares actuales de mercado, y archivando los emails no prioritarios en local, este protocolo aporta en general muchísimas ventajas.
Para saber más
Si queréis aprender más sobre el maravilloso mundo del email o sobre cómo elegir un buen sistema de correo, aquí os dejamos alguna información adicional:
– Cómo configurar tu correo en iphone
– Cómo configurar tu correo en Androïd
– Cómo elegir un sistema de email para tu empresa
– Cómo analizar las cabeceras de un email
– Cómo ser más eficiente con Outlook