Hoy día solo se pueden enviar imágenes/sonido, etc., en emails gracias a los tipos UUEncode/UUDecode (Programa que convierte un archivo binario en ASCII para ser enviado como adjunto; Decode lo devuelve a su formato original) y los MIME. Es un sistema de mensajería interpersonal, con 1 remitente y uno o varios destinatarios, incluido el primero. No es interactivo. No es intrusivo. No es en línea. Es modular por seguir el modelo cliente/servidor.

Componentes Clave del Sistema de Correo Electrónico

  • Buzón de usuario: Espacio donde se almacenan mensajes en el servidor, asociado a una cuenta que hace de identificador.
  • Cuentas: Elemento identificador de una cuenta de correo que tiene un buzón asociado.
  • Cuentas redirigidas: Cuentas sin buzón, a las que se asocia una cuenta de otro dominio, donde se reenvía lo que entra.
  • Alias: Función similar a la de la cuenta redirigida cuando se trabaja en el mismo dominio, tanto para esta como para la cuenta normal.
  • Lista de distribución: Manera de crear una cuenta virtual que englobe a varios usuarios en vez de hacerlo individualmente. Útiles por tener un identificador de correo siempre válido y que representará a la organización de su dominio propio, aunque cambie el proveedor. Agrupan en una cuenta todas las direcciones sin tener que leer varios buzones, protegen la privacidad del usuario. Gmail tiene un máximo de 500 destinatarios por mensaje.

Agentes de Transferencia y Entrega de Correo

  • MTA (Mail Transfer Agent): Se encarga de la transferencia de los mensajes de correo entre máquinas mediante el uso de SMTP. En el viaje, un mensaje puede pasar por varios MTA de forma transparente para el usuario. Ejemplos: Sendmail, Postfix, Qmail, Exim… Efectúa el proceso de encaminamiento del correo entre sistemas, actúa como servidor de correo (también llamado estafeta o agente de distribución) y gestiona la distribución del correo saliente y está pendiente de la llegada del correo entrante de internet.
  • MDA (Mail Delivery Agent): Copia los mensajes de correo del servidor de correo al buzón del usuario. Ejemplos: Qpopper y Cyrus. No transporta mensajes entre sistemas ni es una interfaz de trabajo para el usuario, es un puente entre MTA y MUA, y los clientes POP e IMAP se consideran MDA.
  • MUA (Mail User Agent): Agente o programa que ejecuta el usuario encargado de leer el email entrante y enviar el saliente. Ejemplos: Thunderbird, Outlook. Constituye la interfaz de usuario para editar, componer y enviar correo local, usa formatos MBOX o MAILDIR de buzón para almacenar mensajes en modo local.
  • Cliente de correo: Aplicación que relaciona a los usuarios con sus buzones para descargar los emails usando POP3 e IMAP.

Encaminamiento y Servidores de Correo

  • Encaminamiento: Proceso por el cual un mensaje se dirige desde el emisor al receptor. El servidor de correo localiza la ruta. El proceso debe ser rápido y fiable.
  • Servidor de correo: Aplicación que permite el envío de emails entre usuarios sin importar su SO. Encamina el correo entre sistemas.

Cabeceras del Correo Electrónico

Estructura definida por RFC 822.

Campos del Transporte

  • Para (To): Destinatario del mensaje.
  • Destinatario Copia (CC): Destinatario de la copia.
  • Dest. Copia Oculta (BCC/CCO): Destinatario de la copia oculta que ninguno de los otros remitentes conocerá.
  • De (From): Remitente.
  • Sender: Dirección del último servidor que envió el mensaje.
  • Received: Dirección de los servidores de correo por donde circuló el email, la ruta desde el remitente al destino.
  • Return-path: Camino de retorno en caso de devolución.

Campos del Mensaje

  • Fecha (Date): Timestamp con la fecha, hora y huso horario GMT correspondiente.
  • Responder (Reply-to): Indica la dirección de correo a la que el remitente quiere que se le conteste. Opcional.
  • Tema (Subject): Opcional, el motivo del email.

From, To, CC y BCC tienen direcciones de correo del remitente y destinatario. .sig es la firma. RFC 821 define el SMTP. Ampliado en el 93 con 1327, 1425 y 1506 dando lugar a ESMTP (Extended) que tiene más comandos.

Protocolos de Transferencia de Correo

  • SMTP (Simple Mail Transfer Protocol): Es el estándar para el intercambio de emails. Se encarga del transporte del correo saliente hasta el servidor que almacena los mensajes de los destinatarios. De allí se reenvía al servidor destinatario, quien lo baja del buzón en la máquina local con protocolo POP3. Usa el puerto 25. Comandos de 4 letras. No requiere autenticación. AUTH es RFC 2554. El emisor abre TCP con el servidor destino, el receptor contesta con 220 service SMTP, el emisor se identifica con HELO, el receptor acepta y notifica con 250 OK. Si no va, 421 Service Not Available.
  • POP (Post Office Protocol): Permite la gestión, acceso y transferencia de mensajes entre el servidor remoto y la máquina cliente. En RFC 1460 y 1725. POP3 en 1939. POP3 en 1996 permite acceder, gestionar y transferir emails entre el servidor remoto y el usuario. Fases: Conexión: el servidor mantiene la escucha en el puerto 110, esperando la conexión. Autenticación: el servidor espera nombre y clave. En plano o encriptada. Usa USER y PASS. Transacción: una vez validado, el buzón en el servidor se bloquea y se puede consultar. Se usa LIST, RETR y DELE (mostrar, descargar y eliminar). QUIT para la siguiente fase, actualización: el usuario desconecta y el servidor actualiza el buzón, elimina los mensajes marcados, y desbloquea el servidor.
  • IMAP (Internet Message Access Protocol): 1986 para dispositivos móviles. Desde 2003 v4 llamada IMAP4rev1. Compatible con anteriores versiones. En RFC 1730-1733 del 94, 2060 del 97 y 3501 de 2003. Cliente IMAP a través de TCP 143 o 993 usando SSL. Cliente instalado en PC, vía web, o servidor.