você está aqui: Home  → Arquivo de Mensagens Programação Shell Linux: Inscrições Abertas

Semana 4Linux - Direcionando mensagens de SPAM para uma pasta especifica

Colaboração: Flávio Santino

Data de Publicação: 30 de Agosto de 2005

Como sabemos, existem alguns softwares para a filtragem de e-mails como o Procmail e o Maildrop.

Para você que usa Maildrop e SpamAssassin, aí vai uma dica interessante de como fazer um filtro para as mensagens que chegam ao seu servidor marcadas como SPAM, e encaminhá-las direto para uma pasta SPAM onde possa ser visualizada através de acesso IMAP pelo cliente de e-mail.

Nesta dica estou supondo que você já tenha alguma experiência com Qmail, Postfix ou outro MTA no qual o uso do Maildrop se faz necessário:

Primeiramente faça o download do Maildrop (http://www.courier-mta.org/maildrop/) para uma pasta qualquer e siga os seguintes passos:

$ cd /root/download
$ tar -xjvf maildrop-1.8.1.tar.bz2
$ cd maildrop-1.8.1
$ ./configure --prefix=/usr --enable-maildrop-uid=vpopmail --enable-maildrop-gid=vchkpw
$ make
$ make install-strip
$ make install-man

Crie o script abaixo dentro do /etc com o seguinte nome:

$ vi mailfilter

VHOME=`/Mailhome/bin/vuserinfo -d $EXT@$HOST`

VPOP="|/Mailhome/bin/vdelivermail '' bounce-no-mailbox"

DUMMY=`test -d $VHOME/Maildir`
if ( $RETURNCODE == 1 )
{
   echo "Desculpe, nao existe uma caixa postal com este nome.vpopmail(#5.1.1)"
   EXITCODE=100
   exit
}

if (/^X-Spam-Flag: *YES/)
{
        exception {
                include $VHOME/Maildir/.mailfilter
                }
        exception {
           	# Essa mensagem e um SPAM
               # Testa se existe o diretorio .Spam no Maildir do usuario
                RETURNCODE=`[ -d $VHOME/Maildir/.Spam ] || echo 1`
               # Se a resposta for negativa cria a pasta .Spam
               if ( $RETURNCODE == 1 )
               {
                       `/usr/bin/maildirmake -f Spam $VHOME/Maildir`
               }
                       # Entrega o Spam para a caixa de e-mail .Spam do usuario
                       to "$VHOME/Maildir/.Spam/"
       }
}
else
{
        exception {
                #Essa mensagem nao e SPAM!!!
                to "$VPOP"
        }
}

Note que o script verifica se a caixa postal do usuário existe e se a pasta Spam também está criada. Após criar o script faça o seguinte:

$ chmod 600 /etc/mailfilter
$ chown vpopmail:vchkpw /etc/mailfilter

Vá até o diretório onde se encontra o seu domínio no meu caso é /Mailhome/domains/4linux.com.br e edite o arquivo chamado .qmail-default, se ele não existir crie o arquivo e insira a seguinte linha:

$ vi /Mailhome/domains/4linux.com.br/.qmail-default
|/usr/bin/maildrop /etc/mailfilter


$ chmod 600 /Mailhome/domains/4linux.com.br/.qmail-default
$ chown vpopmail:vchkpw /Mailhome/domains/4linux.com.br/.qmail-default

Faça um teste com um e-mail que seja SPAM e verifique se a mensagem foi colocada lá.


Você usa Exchange, Sendmail e PostFix como servidor de correio ?

Então você precisa conhecer a performance e a segurança do Q-mail. Aprenda a usar este servidor de correio no curso ministrado pela 4linux.

Saiba mais em nosso site ou ligue para (11) 2125-4747//



Veja a relação completa dos artigos de Flávio Santino