2.4   Correo Electrónico

El Correo Electrónico (e-mail) es un servicio mediante el cual un usuario puede enviar un mensaje a cualquier otro usuario que pueda ser contactado a través de la red de comunicaciones.

No importa que el destinatario esté conectado en el instante en que se le envia el mensaje, ya que éste es almacenado en la casilla electrónica (mailbox) del destinatario para una posterior lectura.

La forma en que funciona el servicio es básicamente la siguiente:

Como se puede apreciar, en este servicio no existe un servidor único que administra centralizadamente la información, sino que los mensajes son almacenados en pequeños recipientes pertenecientes a cada destinatario. Para la transferencia se utiliza un protocolo entre servidores del mismo tipo (SMTP [Postel82] entre despachadores de correspondencia), y para accesar la correspondencia propia se utilizan otros distintos (por ejemplo POP [MyeRos96]), todos accesando los mismos recipientes.

Debido a que los recipientes son accesados por varios servidores sin que exista ningún tipo de interacción entre ellos, es necesario que se utilice algún mecanismo para evitar que se destruya un recipiente durante un acceso simultáneo, como es el caso de agregar correspondencia entrante a la vez que se eliminan los mensajes ya leídos. En general, se aprovechan características del sistema operativo para solucionar este problema.

Los mensajes se componen de dos secciones: un encabezado y un cuerpo [Crocke82]. El cuerpo contiene el mensaje propiamente tal, en tanto que el encabezado contiene información respecto al mensaje que incluye la identificación del emisor y la de cada destinatario, la fecha de emisión, el título (subject), otros campos de interés para los servidores y programas cliente.

Como el contenido del mensaje está restringido a determinadas características, no puede ser enviado un archivo con información binaria sin ser procesado previamente para cumplir con el estándar. Un formato frecuentemente utilizado es la codificación UUENCODE, que empaqueta grupos con 3 bytes de 8 bits en grupos con 4 bytes de 6 bits, preservando la integridad de la información. Aunque los mensajes se hacen más largos, éstos se presentan como una secuencia de pequeños registros de largo fijo, conteniendo sólo letras mayúsculas y minúsculas, dígitos y algunos símbolos de puntuación, con lo cual se asegura que el archivo original puede ser recuperado, mediante el algoritmo inverso al de codificación, aún cuando el mensaje haya pasado por servidores de correo que filtran los caracteres que no conocen o cambian la representación binaria de un caracter, o si el mensaje ha sido seccionado en trozos más pequeños, pero secuencialmente ordenados.

Debido al creciente interés por transmitir archivos binarios de cualquier tipo, se ha propuesto el formato MIME (Multipurpose Internet Mail Extensions [BorFre92]), mediante el cual el cuerpo del mensaje puede incluir varios segmentos codificados en diversas formas, incluyendo el método UUENCODE. Cada segmento es precedido por información respecto a su contenido, con el fin de identificar las aplicaciones que pueden o deben hacer uso de él.

La Figura 2.4 presenta un cliente de correo electrónico. En él se distinguen el cuerpo de una carta, el encabezado (origen, destino y tema), un área que permite clasificar el correo en forma simple, usando tecnología “tomar-arrastrar-soltar” (drag&drop), y una zona de comandos simples y menús en la parte superior.

Cliente E-mail

Figura 2.4: Visualizador de Correo Electrónico

Una característica importante en algunos servidores de correo electrónico es que el destinatario puede no ser una persona (en que su correo es almacenado en la respectiva casilla), sino que puede ser un alias para varios destinatarios (mail-exploders) o bien un programa que realizará alguna acción con el correo entrante.

Entre los programas más conocidos que utilizan esta capacidad se encuentran Vacation y Majordomo. Vacation permite que un usuario que no va a leer su correo por un tiempo componga una nota, la cual será enviada automáticamente al emisor de cada mensaje que el usuario reciba durante su ausencia. Majordomo es un administrador de Listas de Correo [Barr96].

Un servidor de Correo Electrónico ampliamente difundido en el ambiente Unix es Sendmail [CoAlRi93], que ofrece varias de las características previamente mencionadas y un nivel de seguridad básico.