"formail" en Perl

Alvaro Herrera alvherre en alvh.no-ip.org
Mar Jul 28 20:08:43 CLT 2009


Alvaro Herrera escribió:

> Hasta ahora me ha ido bastante bien; tengo un programa en Perl el cual,
> dado un mail, extrae los datos interesantes con MIME::Parser y los metes
> en una base de datos para posterior despliegue.

Total que descarté esta idea en favor de usar un módulo más moderno, que
es varios órdenes de magnitud más rápido; el código inicial se ve así:

#!/usr/bin/perl

use warnings;
use strict;

binmode(STDOUT, ':utf8');

use Mail::Box::Manager;
my $mgr = new Mail::Box::Manager;

print "opening\n";
my $folder = $mgr->open(folder => 'Mail/test.mbox2');
print "opened $folder\n";

for my $msgnum (0 .. $folder->messages - 1) {
        my $message = $folder->message($msgnum);
        print "messageid: " , $message->messageId, "\n";
        print "subject: ", $message->study('subject'), "\n";
        print "from: ", $message->study('from'), "\n";
        my @dests = $message->destinations;
        print "recipients (", $#dests, "): ", (join ", ", (map { $_->address } @dests)), "\n";
        print "\n";
}

print "done scanning messages\n";

$folder->close;
print "done\n";


-- 
Alvaro Herrera                  http://www.amazon.com/gp/registry/5ZYLFMCVHXC
"En las profundidades de nuestro inconsciente hay una obsesiva necesidad
de un universo lógico y coherente. Pero el universo real se halla siempre
un paso más allá de la lógica" (Irulan)


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