"formail" en Perl

Germán Póo-Caamaño gpoo en calcifer.org
Mar Jul 28 16:56:17 CLT 2009


On Tue, 2009-07-28 at 16:36 -0400, Alvaro Herrera wrote:
> Hola,
> 
> Estoy trabajando en construir un sistema _bueno_ de archivos web de
> listas de correo, para reemplazar el sistema de archivos de PostgreSQL.
> Actualmente usamos MHonArc pero tiene varias limitaciones problemáticas
> de las cuales ya estamos cansados.

¿Y por qué no mejoras MHonArc? (no es que lo encuentren lindo, solo por
curiosidad)

> ¿Alguien tiene alguna sugerencia para hacer esto más rápido?  En
> particular si hubiera una implementación de "formail" en Perl sería lo
> ideal, pero no encuentro nada.

Mail::Mbox::MessageParser tal vez es lo que buscas.  Aunque yo hubiera
elegido Python y su módulo mailbox para procesar un mailbox[1] y el
módulo  email[2] para procesar los mensajes.  Pero claro, aún eres un
Perl-boy ;-)

> (Antes que me respondan que simplemente puedo dividir el archivo en
> líneas "^From bla bla", les cuento que eso no funciona; creo que lo que
> hay que hacer es ubicar un encabezado Content-Length.  Pero MIME es un
> estándar complicado y si pudiera evitarme una reimplementación sería
> ideal).

El encabezado Content-Type te indica el separador (boundary).  Por
ejemplo:
  Content-Type: multipart/mixed; boundary="----=neXtPaRt_1248109397"

Luego, cada trozo MIME se encuentra entre los límites definidos por
boundary.  Y el fin de las partes se define con el mismo límite pero
añadiendo dos guiones al final.  En el ejemplo:
  ----=neXtPaRt_1248109397--

Obviamente, no tiene sentido implementarlo a ese detalles cuando deben
haber varios módulos en existencia.

[1] http://docs.python.org/library/mailbox.html
[1] http://docs.python.org/library/email.html

-- 
Germán Póo-Caamaño
Concepción - Chile
http://www.calcifer.org/



Más información sobre la lista de distribución Linux