El nacimiento del correo electr�nico (email) ocurri� a principios de los a�os 60. El buz�n era un archivo en el directorio principal de un usuario al cual s�lo el mismo pod�a acceder. Las aplicaciones de correo primitivas anexaban nuevos mensajes de texto a la parte inferior de un archivo, y el usuario ten�a que buscar a lo largo del archivo en constante crecimiento para encontrar un mensaje particular. Este sistema s�lo era capaz de enviar mensajes a usuarios en el mismo sistema.
La primera transferencia verdadera de correo electr�nico en la red se llev� a cabo en 1971 cuando un ingeniero de computaci�n llamado Ray Tomlinson envi� un mensaje de prueba entre dos m�quinas a trav�s de ARPANET — el precursor de Internet. La comunicaci�n a trav�s de correo electr�nico r�pidamente se volvi� muy popular, pasando a formar el 75 por ciento del tr�fico de ARPANET en menos de dos a�os.
Hoy d�a, los sistemas de correo electr�nico basados en protocolos de red estandarizados han evolucionado para convertirse en uno de los servicios m�s usados de la Internet. Red Hat Enterprise Linux ofrece muchas aplicaciones avanzadas para servir y acceder al correo electr�nico.
En este cap�tulo se analizan los protocolos de correo electr�nico modernos conocidos actualmente, as� como algunos programas dise�ados para recibir y enviar correo electr�nico.
11.1. Protocolos de correo electr�nico
Hoy d�a, el correo electr�nico es entregado usando una arquitectura cliente/servidor. Un mensaje de correo electr�nico es creado usando un programa de correo cliente. Este programa luego env�a el mensaje a un servidor. El servidor luego lo redirige al servidor de correo del recipiente y all� se le suministra al cliente de correo del recipiente.
Para permitir todo este proceso, existe una variedad de protocolos de red est�ndar que permiten que diferentes m�quinas, a menudo ejecutando sistemas operativos diferentes y usando diferentes programas de correo, env�en y reciban correo electr�nico o email.
Los protocolos que se indican a continuaci�n son los que m�s se utilizan para transferir correo electr�nico.
11.1.1. Protocolos de transporte de correo
La entrega de correo desde una aplicaci�n cliente a un servidor, y desde un servidor origen al servidor destino es manejada por el Protocolo simple de transferencia de correo (Simple Mail Transfer Protocol o SMTP).
11.1.1.1. SMTP
El objetivo principal del protocolo simple de transferencia de correo, SMTP, es transmitir correo entre servidores de correo. Sin embargo, es cr�tico para los clientes de correo tambi�n. Para poder enviar correo, el cliente envia el mensaje a un servidor de correo saliente, el cual luego contacta al servidor de correo de destino para la entrega. Por esta raz�n, es necesario especificar un servidor SMTP cuando se est� configurando un cliente de correo.
En Red Hat Enterprise Linux, un usuario puede configurar un servidor SMTP en la m�quina local para manejar la entrega de correo. Sin embargo, tambi�n es posible configurar servidores remotos SMTP para el correo saliente.
Un punto importante sobre el protocolo SMTP es que no requiere autenticaci�n. Esto permite que cualquiera en la Internet puede enviar correo a cualquiera otra persona o a grandes grupos de personas. Esta caracter�stica de SMTP es lo que hace posible el correo basura o spam. Los servidores SMTP modernos intentan minimizar este comportamiento permitiendo que s�lo los hosts conocidos accedan al servidor SMTP. Los servidores que no ponen tales restricciones son llamados servidores open relay.
Red Hat Enterprise Linux utiliza Sendmail (/usr/sbin/sendmail) como su programa SMTP por defecto. Sin embargo, tambi�n est� disponible una aplicaci�n m�s simple de servidor de correo llamada Postfix (/usr/sbin/postfix).
11.1.2. Protocolos de acceso a correo
Hay dos protocolos principales usados por las aplicaciones de correo cliente para recuperar correo desde los servidores de correo: el Post Office Protocol (POP) y el Internet Message Access Protocol (IMAP).
A diferencia de SMTP, estos protocolos requieren autenticaci�n de los clientes usando un nombre de usuario y una contrase�a. Por defecto, las contrase�as para ambos protocolos son pasadas a trav�s de la red sin encriptar.
11.1.2.1. POP
El servidor por defecto POP bajo Red Hat Enterprise Linux es /usr/sbin/ipop3d y es proporcionado por el paquete imap. Cuando se utiliza POP, los mensajes de correo son descargados a trav�s de las aplicaciones de correo cliente. Por defecto, la mayor�a de los clientes de correo POP son configurados para borrar autom�ticamente el mensaje en el servidor de correo despu�s que �ste ha sido transferido exit�samente, sin embargo esta configuraci�n se puede cambiar.
POP es completamente compatible con est�ndares importantes de mensajer�a de Internet, tales como Multipurpose Internet Mail Extensions (MIME), el cual permite los anexos de correo.
POP funciona mejor para usuarios que tienen un sistema en el cual leer correo. Tambi�n funciona bien para usuarios que no tienen una conexi�n permanente a la Internet o a la red que contiene el servidor de correo. Desafortunadamente para aquellos con conexiones lentas, POP requiere que luego de la autenticaci�n los programas cliente descarguen el contenido completo de cada mensaje. Esto puede tomar un buen tiempo si alg�n mensaje tiene anexos grandes.
La versi�n m�s reciente del protocolo est�ndar POP es POP3.
Sin embargo, tambi�n existen una variedad de variantes del protocolo POP que no son tan populares:
APOP — POP3 con autenticaci�n MDS. En este protocolo, el cliente de correo env�a un hash codificado de la contrase�a al servidor en lugar de enviar una contrase�a encriptada.
KPOP — POP3 con autenticaci�n Kerberos. Consulte el Cap�tulo 19 para m�s informaci�n.
RPOP — POP3 con autenticaci�n RPOP, que utiliza un identificador de usuario similar a una contrase�a para autenticar las peticiones POP. No obstante, este ID no esta encriptado por tanto RPOP no es m�s seguro que el est�ndar POP.
Para a�adir seguridad, es posible utilizar la encriptaci�n Secure Socket Layer (SSL) para la autenticaci�n del cliente y las sesiones de transferencias de datos. Esto se puede activar usando el servicio ipop3s o mediante el uso del programa /usr/sbin/stunnel. Refi�rase a la Secci�n 11.5.1 para m�s informaci�n.
11.1.2.2. IMAP
El servidor por defecto IMAP bajo Red Hat Enterprise Linux es /usr/sbin/imapd y es proporcionado por el paquete imap. Cuando utilice un servidor de correo IMAP, los mensajes de correo se mantienen en el servidor donde los usuarios pueden leerlos o borrarlos. IMAP tambi�n permite a las aplicaciones cliente crear, renombrar o borrar directorios en el servidor para organizar y almacenar correo.
IMAP lo utilizan principalmente los usuarios que acceden a su correo desde varias m�quinas. El protocolo es conveniente tambi�n para usuarios que se est�n conectando al servidor de correo a trav�s de una conexi�n lenta, porque s�lo la informaci�n de la cabecera del correo es descargada para los mensajes, hasta que son abiertos, ahorrando de esta forma ancho de banda. El usuario tambi�n tiene la habilidad de eliminar mensajes sin verlos o descargarlos.
Por conveniencia, las aplicaciones cliente IMAP son capaces de hacer cach� de los mensajes localmente, para que el usuario pueda hojear los mensajes previamente le�dos cuando no se est� conectado directamente al servidor IMAP.
IMAP, como POP, es completamente compatible con est�ndares de mensajer�a de Internet, tales como MIME, que permite los anexos de correo.
Para seguridad adicional, es posible utilizar la encriptaci�n SSL para la autenticaci�n de clientes y para las sesiones de transferencia de datos. Esto se puede activar usando el servicio imaps, o mediante el uso del programa /usr/sbin/stunnel. Refi�rase a la Secci�n 11.5.1 para m�s informaci�n.
Tambi�n est�n disponibles otros clientes y servidores de correo IMAP gratu�tos as� como tambi�n comerciales, muchos de los cuales extienden el protocolo IMAP y proporcionan funcionalidades adicionales. Una lista completa sobre esto se puede encontrar en https://www.imap.org/products/longlist.htm.