Yo uso el spamassassin para todas mis cuentas, además con un umbral muy bajo (2.1). Con este umbral y la base de datos bayesianas ya bien entrenada (después de meses y meses de usarlo) no deja pasar casi ningún spam (no más de dos por día) y no tengo falsos positivos, salvo uno cada pocos meses. Pero tenía que buscar una forma de listar rápidamente los mensajes en el fichero mbox donde dejos los spams (vía procmail) sin necesidad de abrir ningún cliente, así que lo programé rápidamente en Perl. Es una chorradita, pero aquí lo tenéis por si os sirve u os inspira para cosas parecidas más importantes. Y de paso aprendéis Perl, ¡que os hace falta! 🙂
Para ejecutarlo basta hacer ./listar.pl fichero_mbox1 fichero_mbox2…. También es válido redireccionarlo desde ficheros o tuberías. Yo lo uso mucho con el less y el grep, por ejemplo para verificar si me ha llegado algo de Amazon y dió un falso positivo:
$ ./listar.pl mail/spams | grep amazon.co.uk
#! /usr/bin/perl
use strict;
use MIME::Words qw(:all);
# Módulo: MIME::Words
# Debian: libmime-perl
my ($user, $subject, $c);
$c = 0;
while (<>) {
if (/^From /) {
chomp;
$c++;
($user) = /^From +([\w@\.]+)/;
undef $subject;
} elsif (defined($user) && /^Subject: /) {
chomp;
($subject) = /^Subject: +(.*)$/;
$subject = decode_mimewords($subject);
print «$c: $user : $subject\n»;
undef $user;
}
}
#print «Mails: $c\n»;
Este post ha sido traido de forma automatica desde https://web.archive.org/web/20140625063149/http:/bulma.net/body.phtml?nIdNoticia=2105 por un robot nigromante, si crees que puede mejorarse, por favor, contactanos.