"formail" en Perl
Marcos Ramirez
mramireza en armada.cl
Vie Jul 31 16:56:24 CLT 2009
On Fri, 2009-07-31 at 15:57 -0400, Alvaro Herrera wrote:
> Marcos Ramirez escribió:
> > Mail::Internet (MailTools) deberia servirte, aunque francamente no veo
> > porque no pudieras usar Mail::Message (Mail-Box) como se describe en
> > Mail::Message::Construct::Build (Mail-Box).
>
> El problema es construir el header. En la BD lo guardo como un string
> de varias líneas, y no veo en Mail::Message::Construct cómo crear un
> header a partir de eso. Toda la API parece asumir que uno va a ingresar
> los campos uno por uno, pero con este diseño de BD es un cacho hacerlo
> así (no se puede simplemente cortar línea por línea, porque los campos
> largos pueden usar más de una línea, como Received, los subject largos,
> los To y CC largos, etc). Tendría que ponerme a procesar el header pero
> eso es justo lo que no quiero hacer ...
Asumiendo que esto es lo que guardas en tu BD, ¿ Que tiene de malo algo
como lo que incluyo ? Mas aun, si tienes el cuerpo del mensaje en otro
campo, perfectamente puedes concatenar ambos y pasarlos como parametro
del Mail::Message->read($var) (recuerda que hay una linea en blanco
entre ambos)
Saludos
#!/usr/bin/perl
use Mail::Message;
my $headers = qq(Date: Fri, 31 Jul 2009 15:57:30 -0400
From: Alvaro Herrera <alvherre en alvh.no-ip.org>
To: Discusion de Linux en Castellano <linux en listas.inf.utfsm.cl>
Subject: Re: "formail" en Perl
Message-ID: <20090731195730.GE11099 en alvh.no-ip.org>
References: <20090728203614.GF25710 en alvh.no-ip.org>
<20090729000843.GL25710 en alvh.no-ip.org>
<1248884249.2546.6.camel en pillan.dgpa.armada.cl>
<20090731182143.GC11099 en alvh.no-ip.org>
<1249066385.2472.10.camel en pillan.dgpa.armada.cl>
MIME-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: 8bit
In-Reply-To: <1249066385.2472.10.camel en pillan.dgpa.armada.cl>
);
my $msg = Mail::Message->read($headers);
...
$msg->head() entrega el header del mensaje ...
--
Marcos Ramirez <mramireza en armada.cl>
Más información sobre la lista de distribución Linux