La solución planteada aquí ayuda a filtrar correo no deseado que desafortunadamente pulula en la red...

Este script genera archivos .muttrc y .procmailrc para usar mutt y también procmail en conjunción con spamassassin.

En este caso las reglas de filtrado de procmail para clasificar el correo y descartar el spam o llevarlo a una carpeta dependen de que los mensajes tengan en el header X-Spam-Flag: YES.

Será efectivo el uso del filtro de procmail, si y solo si procmail procesa los mensajes que se incorporan a la cola de correo, así que el mta debe tener activado el soporte de procmail por usuario en la máquina.

La solución spamassassin+exim4+procmail+mutt se ha probado en el GFC en Debian Sarge y ha funcionado de forma adecuada, adicionalmente se requiere que se esté entrenando a spamassassin para que vaya ayudando a filtrar spam que spamassassin no logra detectar fácilmente.

if test ! $# = 1
then
    echo "Error, por favor indique un login para crear los archivos para el filtro de spam"
    echo "Usage : filtroSpan.sh login"
exit 1
fi

home=`grep $1: /etc/passwd | gawk -F: '{print $6}'`
echo $home

if [ -a "$home/.muttmail/" ]
    then
    echo "Usando el directorio $home/.muttmail/"
else
    mkdir $home/.muttmail
    chown $1: $home/.muttmail
    echo "Creado el directorio $home/.muttmail/"
fi


if [ -a "$home/.muttrc" ]
    then
    echo "El Archivo $home/.muttrc existe y no se pudo crear"
    echo "set copy=yes" > $home/.muttrc
    echo "set record=+enviado" >> $home/.muttrc
    echo "set folder=\"~/.muttmail\"" >> $home/.muttrc
    echo "set spoolfile=/var/mail/$1" >> $home/.muttrc
    echo "mailboxes +trash" >> $home/.muttrc
    echo "mailboxes /var/mail/$1" >> $home/.muttrc
    echo "Creado .muttrc del usuario $1"
else
    touch $home/.muttrc
    chown $1: $home/.muttrc
    echo "set copy=yes" > $home/.muttrc
    echo "set record=+enviado" >> $home/.muttrc
    echo "set folder=\"~/.muttmail\"" >> $home/.muttrc
    echo "set spoolfile=/var/mail/$1" >> $home/.muttrc
    echo "mailboxes +trash" >> $home/.muttrc
    echo "mailboxes /var/mail/$1" >> $home/.muttrc
    echo "Creado .muttrc del usuario $1"
fi

if [ -a "$home/.procmailrc" ]
    then
    echo "El Archivo $home/.procmailrc existe y no se pudo crear"
    echo ":0:" >> $home/.procmailrc
    echo "* ^X-Spam-Flag: YES" >> $home/.procmailrc
    echo "\$HOME/.muttmail/trash" >> $home/.procmailrc
else
    touch $home/.procmailrc
    chown $1: $home/.procmailrc
    echo "LINEBUF=4096" >> $home/.procmailrc
    echo "VERBOSE=off" >> $home/.procmailrc
    echo "DEFAULT=/var/mail/$1" >> $home/.procmailrc
    echo "FORMAIL=/usr/bin/formail" >> $home/.procmailrc
    echo "SENDMAIL=/usr/sbin/sendmail" >> $home/.procmailrc
    echo ":0:" >> $home/.procmailrc
    echo "* ^X-Spam-Flag: YES" >> $home/.procmailrc
    echo "\$HOME/.muttmail/trash" >> $home/.procmailrc
#    echo "/dev/null" >> $home/.procmailrc  
    echo "Creado .procmailrc del usuario $1"

Otros Enlaces


CategoriaAdministradorDeRed CategoriaAyudaInterfazDeComandos

UsoDeProcmailParaSpam (last edited 2009-07-15 15:27:05 by localhost)