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

