"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