Mbox


De Wikipedia, la enciclopedia libre
  (Redirigido desde Mboxrd )
Saltar a navegación Saltar a búsqueda

Mbox es un término genérico para una familia de formatos de archivo relacionados que se utilizan para almacenar colecciones de mensajes de correo electrónico. Se implementó por primera vez en la quinta edición de Unix .

Todos los mensajes de un buzón mbox se concatenan y almacenan como texto sin formato en un solo archivo. Cada mensaje comienza con los cuatro caracteres "De" seguidos de un espacio (la llamada "Línea De_") y la dirección de correo electrónico del remitente. RFC 4155 define que una marca de tiempo UTC sigue a otro carácter de espacio de separación. [1]

Un formato similar a mbox es el sistema de manejo de mensajes MH . Otros sistemas, como Microsoft Exchange Server y el servidor Cyrus IMAP , almacenan los buzones de correo en bases de datos centralizadas administradas por el sistema de correo y no accesibles directamente por usuarios individuales. El formato de buzón de correo maildir se cita a menudo como una alternativa al formato mbox para los sistemas de almacenamiento de correo electrónico en red.

Protocolos de almacenamiento de correo

A diferencia de los protocolos de Internet utilizados para el intercambio de correo electrónico, el formato utilizado para el almacenamiento de correo electrónico nunca se ha definido formalmente a través del mecanismo de estandarización RFC y se ha dejado completamente al desarrollador de un cliente de correo electrónico. Sin embargo, el estándar POSIX definió un marco flexible junto con el programa mailx . En 2005, el tipo de medio application / mbox se estandarizó como RFC 4155, que insinuaba que mbox almacena los mensajes del buzón en su formato de mensaje de Internet original (RFC 2822), excepto por el carácter de nueva línea usado, el almacenamiento de datos limpio de siete bits y el requisito que cada mensaje recién agregado termina con una línea completamente vacía dentro de la base de datos de mbox. [1] [2]

Familia Mbox

El formato mbox usa una sola línea en blanco seguida de la cadena 'De' (con un espacio) para delimitar los mensajes; esto puede crear ambigüedades si un mensaje contiene la misma secuencia en el texto del mensaje.

A lo largo de los años, surgieron cuatro variantes populares pero incompatibles: mboxo , mboxrd , mboxcl y mboxcl2 . El esquema de nombres fue desarrollado por Daniel J. Bernstein , Rahul Dhesi y otros en 1996. Cada uno se originó a partir de una versión diferente de Unix . mboxcl y mboxcl2 se originaron a partir del formato de archivo utilizado por las herramientas de correo Unix System V Release 4. mboxrd fue inventado por Rahul Dhesi et al. como una racionalización de mboxo y posteriormente adoptado por algunas herramientas de correo de Unix, incluido qmail .

Todas estas variantes tienen el problema de que en ocasiones se debe modificar el contenido del mensaje para eliminar ambigüedades, como se muestra a continuación, por lo que las aplicaciones tienen que saber qué regla de comillas se ha utilizado para realizar la reversión correcta, lo que resultó poco práctico. El uso de MIME y la elección de una codificación de transferencia de contenido que entre comillas "From_" líneas de una manera compatible con el estándar asegura que el contenido del mensaje no necesita ser cambiado, sino solo su representación MIME . Por lo tanto, las sumas de verificación permanecen constantes, una condición previa necesaria para admitir S / MIME y Pretty Good Privacy.. Las aplicaciones que crean mensajes nuevos y los almacenan en archivos de base de datos mbox probablemente utilizarán este enfoque para separar el contenido del mensaje del formato de almacenamiento de la base de datos.

mboxo y mboxrd localizan el inicio del mensaje escaneando las líneas De que se encuentran antes de los encabezados del mensaje de correo electrónico. Si From aparece una cadena " " al comienzo de una línea en el encabezado o en el cuerpo de un mensaje (una infracción estándar de correo para el primero, pero no para el último), el mensaje de correo electrónico debe modificarse antes de que el mensaje se almacene en un archivo de buzón mbox o la línea se tomará como límite de mensaje. Para evitar malinterpretar una From cadena " " al comienzo de la línea en el cuerpo del correo electrónico como el comienzo de un nuevo correo electrónico, algunos sistemas "From-munge" [3]

el mensaje, normalmente anteponiendo un signo mayor que:

 > Desde mi punto de vista ...

En el formato mboxo , estas líneas tienen una ambigüedad irreversible. [4] En el formato mboxo , esto puede provocar la corrupción del mensaje. Si una línea ya está incluida >From al principio (como en una cita), no se modificará cuando se escriba. Cuando el software de correo lo lee posteriormente, el encabezado >se elimina por error. El mboxrd formato resuelve este mediante la conversión From a >From y la conversión >From a >>From , etc. La transformación es entonces siempre reversible. [5]

Ejemplo:

De MAILER-DAEMON Vie 8 de julio 12:08:34 2011 De:  Autor <[email protected]> Para:  destinatario <[email protected]> Asunto: Mensaje de  muestra 1   Este es el cuerpo. > De (debe escaparse). Hay 3 líneas. De MAILER-DAEMON Vie 8 de julio 12:08:34 2011 De: Autor <[email protected]>   Para:  destinatario <[email protected]> Asunto: Mensaje de  muestra 2   Este es el segundo cuerpo.

Los formatos mboxcl y mboxcl2 usan un Content-Length:encabezado para determinar la longitud de los mensajes y, por lo tanto, la siguiente línea Real de origen . mboxcl todavía cita líneas de From en los mensajes mismos como lo hace mboxrd , mientras que mboxcl2 no lo hace.

Mbox modificado

Algunos clientes de correo electrónico utilizan una modificación del formato mbox para sus carpetas de correo.

  • Eudora utilizó una variación de mboxo en la que la dirección de correo electrónico del remitente se reemplaza por la cadena constante "??? @ ???". La mayoría de los clientes de mbox almacenan los mensajes entrantes como se reciben. Eudora separa los archivos adjuntos incrustados en el mensaje y los almacena como archivos individuales separados en una carpeta. [6]
  • El Mozilla familia de clientes de correo electrónico (Mozilla, Netscape, Thunderbird, et al.) Utilizar un mboxrd variación con la más compleja desde la línea reglas de cotización. [7]

Bloqueo de archivos

Debido a que más de un mensaje se almacena en un solo archivo, se necesita alguna forma de bloqueo de archivos para evitar la corrupción que puede resultar de dos o más procesos que modifican el buzón simultáneamente. Esto podría suceder si un programa de entrega de correo electrónico en red entrega un nuevo mensaje al mismo tiempo que un lector de correo elimina un mensaje existente.

Los diferentes formatos de mbox han utilizado varios mecanismos incompatibles entre sí para permitir el bloqueo de archivos de mensajes, incluidos fcntl()y lockf(). Esto no funciona bien con sistemas de archivos montados en red, como el Sistema de archivos de red (NFS) , por lo que tradicionalmente Unix usaba archivos de "bloqueo de puntos" adicionales, que podían crearse de forma atómica incluso sobre NFS.

Los archivos Mbox también deben bloquearse mientras se leen. De lo contrario, el lector puede ver el contenido del mensaje dañado si otro proceso está modificando el mbox al mismo tiempo, aunque no se produzcan daños reales en el archivo.

Como formato de parche

En el desarrollo de código abierto , es común enviar parches en formato diff a una lista de correo para su discusión. El formato diff permite agregar "encabezados" irrelevantes, como datos mbox. [8] [9] Los sistemas de control de versiones como git tienen soporte para generar parches con formato mbox y para enviarlos a la lista como correos electrónicos en un hilo. [10] [11]

Ver también

  • Maildir
  • MIX (correo electrónico)
  • Sistema de manejo de mensajes MH

Referencias

  1. ^ a b Hall, E., ed. (Septiembre de 2005). "Solicitud de comentarios: 4155 - El tipo de medio de la aplicación / mbox" . Grupo de trabajo de ingeniería de Internet . Consultado el 17 de mayo de 2021 .
  2. ^ Resnick, P., ed. (Abril de 2001). "Solicitud de comentarios: 2822 - Formato de mensaje de Internet" . Grupo de trabajo de ingeniería de Internet . Consultado el 17 de mayo de 2021 .
  3. ^ Gellens, R., ed. (Febrero de 2004). "Solicitud de comentarios: 3676 - El texto / formato sin formato y los parámetros DelSp - Sección 4.4: Relleno de espacio" . Grupo de trabajo de ingeniería de Internet . Consultado el 17 de mayo de 2021 .
  4. ^ "Configuración de correo de Netscape en Unix: por qué el formato de longitud de contenido es malo" por Jamie Zawinski 1997
  5. de Boyne Pollard, Jonathan (2004). " " mbox "es una familia de varios formatos de buzón de correo incompatibles" . Respuestas dadas con frecuencia .
  6. ^ "Guía del usuario de Eudora 6.2.4 Mac" (PDF) . pag. 113. Archivado desde el original (PDF) el 12 de julio de 2014 . Consultado el 29 de octubre de 2015 .
  7. ^ "Importar y exportar su correo"
  8. ^ "Envío de parches: la guía esencial para introducir su código en el kernel - La documentación del kernel de Linux" . www.kernel.org .
  9. ^ Randal, Allison; Sugalski, Dan; Tötsch, Leopold (2003). "Envío de parches". Perl 6 Essentials . O'Reilly Media, Inc. pág. 14 . ISBN 978-0-596-00499-6.
  10. ^ "Git - Documentación de parche de formato de git" . git-scm.com .
  11. ^ "Git - Documentación de git-send-email" . git-scm.com .

Otras lecturas

  • Jonathan de Boyne Pollard (2004). " ' mbox' es una familia de varios formatos de buzón de correo incompatibles entre sí" . Respuestas dadas con frecuencia .
  • página de manual de qmail mbox
  • Consorcio de correo de Internet : organismo de estándares
  • Sepa qué es el archivo MBOX
  • Conozca el proceso de conversión de MBOX a PST
  • Conozca el extractor de accesorios MBOX
Obtenido de " https://en.wikipedia.org/w/index.php?title=Mbox&oldid=1028490507 "