Mayo 1996
Correo electrónico multimedia
Por Pedro Hípola y José A. Senso
Para superar la pobreza tipográfica de los primeros
sistemas de correo electrónico, han surgido nuevos modelos
de intercambio de mensajes entre los buzones de los usuarios. El
uso de sistemas como BinHex, Mapi (Microsoft´s
messaging application programming interface), Mime
(Multipurpose Internet mail extensions) o X.400,
permite, dentro de Internet, la "libre
circulación" de documentos que contengan los más
variados materiales multimedia.
Los sistemas más sencillos de correo electrónico fueron diseñados para intercambiar mensajes de texto usando el juego de caracteres ascii norteamericano.
Con 7 bits (128 posibilidades distintas) es posible representar todos los caracteres necesarios para hacerlo.
Así smtp (simple mail transfer protocol), el sistema de correo usado en Internet, regulado por los documentos RFC-821 y RFC-822 [los documentos RFC (request for comments) son los que se utilizan para reglamentar las funciones de Internet, con un proceso mucho más ágil y sencillo que el propio de los documentos ISO (International standards organization)], es un protocolo de 7 bits.
No se previó inicialmente mayor capacidad, pues para la transferencia de ficheros no textuales se contaba con el protocolo ftp (file transfer protocol).
Principales Request For Comments sobre correo electrónico
821 | Simple Mail Transfer Protocol |
822 | Standard for the format of Arpa Internet text messages |
1334 | Implications of Mime for Internet Mail Gateways |
1421 | Privacy Enhancement for Internet Electronic Mail: Part I: Message Encryption and Authentication Procedures |
1422 | Privacy Enhancement for Internet Electronic Mail: Part II: Certificate‑Based Key Management |
1423 | Privacy Enhancement for Internet Electronic Mail: Part III: Algorithms, Modes, and Identifiers |
1424 | Privacy Enhancement for Internet Electronic Mail: Part IV: Key Certification and Related Services |
1425 | Smtp service extensions |
1426 | Smtp service extension for 8bit-Mime Transport |
1427 | Smtp service extension for messages size declaration |
1428 | Transition of Internet Mail from Just‑Send‑8 to 8bit‑ Smtp/Mime |
1502 | X.400 use of extended character sets |
1521 | Mime Part One: Mechanisms for Specifying and Describing the Format of Internet Message Bodies |
1522 | Mime Part Two: Message Header Extensions for Non‑Ascii Text |
1556 | Handling of Bi‑directional Texts in Mime |
1563 | The text/enriched Mime Content‑type |
1641 | Using Unicode with Mime |
1642 | A Mail‑Safe Transformation Format of Unicode |
1651 | Smtp Service Extensions |
1652 | Smtp Service Extension for 8bit‑Mime transport |
Uuencode
Hasta hace unos años los usuarios que querían transferir por medio de correo electrónico ficheros que contuvieran algo más que caracteres ascii de 7 bits podían sólo recurrir a codificar -ellos personalmente- en 7 bits sus ficheros.
Muchas personas siguen haciendo eso hoy utilizando los programas uuencode y uudecode, presentes normalmente en los sistemas unix, pero de los que también existen versiones para ordenadores con ms-dos y otros sistemas operativos.
Con estos programas el remitente del mensaje se encarga de codificar el fichero convirtiéndolo en una cadena de caracteres de 7 bits. El fichero resultante es incluido dentro de un mensaje Smtp tradicional.
Por su parte, el usuario receptor aplica al mensaje recibido un programa decodificador, que sirve para recuperar el fichero original.
Los attachments
Frente a este sistema de codificación "no transparente", existen hoy formas más evolucionadas y cómodas para el usuario. Son, en definitiva, sistemas más "transparentes": requieren menores conocimientos y menos intervención por parte de quien usa las aplicaciones de correo electrónico.
El método más usado es el del attachment (añadido). Se trata de lo siguiente. El remitente del correo indica que quiere enviar, junto con su mensaje de texto, un fichero de cualquier tipo (un programa, un gráfico, etc.). El sistema de correo se encarga de codificarlo y transmitirlo, dividiéndolo, si es necesario, en varias partes.
Como es natural, es necesario que el programa de correo electrónico del receptor sea capaz de "entender" la codificación utilizada.
Los sistemas de codificación más extendidos son BinHex y Mime.
BinHex se utiliza principalmente entre ordenadores Macintosh, aunque también se ha generalizado su uso en otras plataformas informáticas.
La aceptación y uso de Mime ha sido mucho mayor. Por eso nos detendremos especialmente exponiendo sus características.
Nace Mime
Para facilitar, a través de correo electrónico, el intercambio de ficheros más complejos que los que sólo contenían caracteres de 7 bits, un grupo de trabajo de la Ietf (Internet engineering task force) comenzó a trabajar en Mime.
El nuevo estándar ha quedado recogido en dos documentos, aprobados por la Ietf en 1993: RFC-1521 y RFC-1522. Estos escritos, que no son más que la actualización de las RFC-1341 y RFC-1342, fueron puestos al día, a su vez, en marzo de 1994 por la RFC-1590.
Mime no establece un nuevo protocolo. Tan sólo constituye una forma normalizada de intercambio de mensajes electrónicos multimedia. Este sistema es compatible con los programas de correo electrónico que surgieron a partir de la RFC-821.
Una característica a destacar es que se trata de un sistema multiplataforma, ya que protege el formato binario del fichero, evitando así el tener que convertirlo a ascii antes de leerlo.
Con respecto a los primeros sistemas, Mime dio un paso adelante en "transparencia", ya que las aplicaciones cliente pueden saber automáticamente de qué tipo de formato de fichero se trata, y, por tanto, la codificación y decodificación se realiza de forma transparente para el usuario.
Por otra parte, con Smtp sólo se garantizaba la integridad de mensajes cuya longitud de líneas no excediera los 1000 caracteres. Mime, por contra, divide el contenido del mensaje en múltiples partes que se recomponen, también de forma transparente, cuando el mensaje llega al receptor.
Tipos de codificación
Mime permite que sea la
aplicación del usuario la que elija el tipo de
codificación que se utilizará para el contenido del
mensaje. Las diferentes clases de codificación son:
En la cabecera del mensaje existe un campo donde se representa el tipo de codificación elegida. Si, por ejemplo, se ha seleccionado la tercera modalidad, el campo indicaría lo siguiente:
Content-Transfer-Encoding: quoted-printable
Tipos de formato
En el mundo multimedia existe gran cantidad de formatos, tanto para imágenes como para audio. Éste fue el motivo de que Mime se decantara por agrupar estos formatos según el contenido, y, dentro de cada contenido, se escogieron dos o tres subtipos iniciales.
Con el fin de evitar conflictos, las futuras implementaciones de la norma deben registrar nuevos subtipos ante el Iana (Internet assigned numbers authority). No obstante, se pueden especificar subtipos particulares utilizando el prefijo X-, sin necesidad de que sean aprobados y registrados. Por ejemplo,
video/x-msvideo
se utiliza para especificar ficheros de Video for Windows, el estándar de Microsoft, habitualmente reconocible por la extensión .avi.
Los siete tipos de contenido definidos originariamente para la
norma Mime fueron:
El campo que determina el tipo de formato escogido se especifica en la cabecera del mensaje, presentando la siguiente sintaxis:
Content-Type: tipo/subtipo; parámetro
Así, Content-Type: text/plain; charset=ISO-8859-5 indicaría que el contenido del mensaje es un texto en el que se ha utilizado el conjunto de caracteres ISO 8859-5 (ISO alfabeto árabe).
La lista actualizada de los subtipos registrados puede encontrarse en:
http://www.isi.edu/in‑notes/iana/assignments/media‑types/
El grupo de trabajo contempló la posibilidad de incluir dentro de este esquema inicial los ficheros codificados según el método uuencode. Se rechazó esta posibilidad por la carencia de una especificación única del método que fuera compatible con todos los programas que había en el mercado.
Se decidió que los ficheros uuencode podrían ser incluidos bajo la etiqueta base64.
Mime y web
La clasificación de formatos de ficheros Mime se ha utilizado como base para el funcionamiento de los browsers web. Éstos reconocen los subtipos Mime especificados (y otros identificados con prefijos x-) y analizan la codificación normalizada por Iana para "decidir" qué es lo que se debe hacer con los ficheros que se reciben a través de la Red.
Dentro de la configuración del browser, el usuario puede definir qué aplicaciones serán las encargadas de procesar los diversos ficheros. Así, un fichero de vídeo quicktime será visualizado con una aplicación específica que sea capaz de gestionar ese tipo de formato.
El universo X.400
El sistema X.400, integrado dentro del esquema OSI (open systems interconnection), se desarrolló, desde sus comienzos en 1984, pensando en el correo multimedia, al recoger la idea de "tipos de contenido" y "partes del cuerpo de un mensaje".
Los tipos de contenido que admite pueden ser voz, g3fx, mensaje encapsulado, texto encriptado, T.61 (colección de caracteres usados en el télex) e IA5 (conjunto universal de caracteres, que usa 8 bits). A pesar de permitir el uso de voz e imagen, no se especifica el método de codificación de voz, así como tampoco se decanta por ningún formato gráfico en concreto.
El hecho de tener en cuenta las partes del cuerpo de un mensaje supone que el protocolo transfiere las partes de un mensaje como unidades de datos distintas, añadiendo información de control sobre los diferentes tipos de contenido que forman el mensaje.
En contraposición con Mime, X.400 es un sistema más robusto y que cuenta con protocolos más complejos.
En el X.400 de 1988 se definen, de forma específica, varios tipos de contenido básicos, añadiendo un nuevo tipo de cuerpo denominado EBP3 (extended body part), que soporta varios juegos de caracteres (entre ellos us-ascii e ISO 8859 [1-9]) y que facilita la posibilidad de definir nuevos formatos fuera de la norma.
A pesar de que en la actualización de 1988 continúe sin estar especificado el formato de imagen y la codificación de voz, EBP3 permite integrar formatos idénticos a los definidos por Mime.
La interoperatividad entre X.400 (84) y Mime pasa siempre por X.400 (88). No obstante, en la RFC-1496 se define un nuevo estándar, llamado Harpoon, con el que se pretende conseguir la interoperatividad entre ambos sistemas.
Microsoft no se queda atrás
Ya va siendo habitual que Microsoft tenga respuesta para todo. La propuesta de la empresa americana se denomina Mapi (messaging application programming interface).
Como su propio nombre indica, se trata de una API, una "interfaz para el desarrollo de aplicaciones". Esto es, una serie de funciones ofrecidas por Microsoft que pueden ser utilizadas por las distintas empresas que desarrollan aplicaciones de correo existentes para el mercado.
Usando Mapi, los diversos sistemas de correo que funcionen bajo Windows pueden integrar "objetos" OLE (object linking and embedding) dentro del entorno de trabajo diseñado por Microsoft.
Como ya explicamos en IWE-31, p. 1-8, OLE es un sistema "orientado a objetos" en el que el "documento" es el centro, y todo gira en torno a él. Éste puede integrar en su seno una serie de elementos -textos, gráficos, tablas, imágenes, sonido...- creados por diferentes aplicaciones y que permanecen ligados a ellas.
Cada parte del documento puede más adelante ser modificada utilizando una aplicación distinta, y conservando siempre su relación con el resto de las partes.
Desde el punto de vista orgánico, la información de los documentos se almacena en diferentes ficheros, lo que permite una mayor flexibilidad al sistema: cada aplicación puede operar sobre los correspondientes ficheros.
Subtipos de formatos Mime registrados por Iana
Text:
plain, richtext, enriched, tab‑separated‑values, sgml
Multipart:
mixed, alternative, digest, parallel, appledouble,
header‑set, form‑data, related, report,
voice‑message
Message:
partial, external‑body, news
Application:
octet‑stream, postscript, oda, atomicmail,
andrew‑inset, slate, wita, dec‑dx, dca‑rft,
activemessage, rtf, applefile, mac‑binhex40,
news‑message‑id, news‑transmission,
wordperfect5.1, pdf, zip, macwriteii, msword,
remote‑printing, mathematica, cybercash, commonground, iges,
riscos, eshop, x400‑bp, sgml, cals‑1840
Image:
jpeg, gif, ief, g3fax, tiff
Audio:
basic, 32kadpcm
Video:
mpeg, quicktime
Bibliografía adicional
Además de los documentos ya citados, puede consultarse:
Mozos, Ignacio de los. "Multimedia II: correo electrónico estructurado con gráficos, audio, datos y múltiples conjuntos de caracteres". En: Boletín de RedIris, nº 25-26, oct. 1993, p. 54-64.
Borenstein, Nathaniel S. "Mime: a portable and robust multimedia format for the Internet mail". En: Multimedia Systems, 1993, 1, p. 29-36.
Enlace del artículo:
http://www.elprofesionaldelainformacion.com/contenidos/1996/mayo/correo_electrnico_multimedia.html