Configuração do Maildrop para criar pasta Spam e aparecer no squirrelmail

Publicado por Edinaldo PS em 29/11/2007

[ Hits: 10.932 ]

 


Configuração do Maildrop para criar pasta Spam e aparecer no squirrelmail



Spamassassim + qmail + qmailscanner + maildrop + squirrelmail

Objetivo: Os spams recebidos devem ser encaminhados para a pasta .spam para que o usuário decida o que é realmente spam e o que não é. Isto porque o spamassassim considera como spam todo e-mail que ultrapasse a pontuação em 6 (setado no arquivo local.cf).

A configuração adotada foi:
  • Todo e-mail que tiver pontuação até 6 é enviado para Inbox.
  • Todo e-mail que for maior que 6 e menor que 10 será encaminhado para a pasta inbox.spam.
  • Todo e-mail que for maior que 10 até 16 será enviado para quarentena e o restante será removido.

O spamassassim somente marca o e-mail como spam, caso tenha pontuação superior a 6.

required_hits 6

O qmailscanner é quem deleta ou não o spam.

sa-quarantine=4
sa-delete=10

--sa-quarantine [num] (default: 0)
Spam messages with a score higher than (required_hits + sa_quarantine) should be quarantined. Only relevant if SpamAssassin is used. Score of 0 means deliver all messages.

--sa-delete [num] (default: 0)
Spam messages with a score higher than (required_hits + sa_delete) should be deleted. Only relevant if SpamAssassin is used. Score of 0 means deliver all messages.

Isto quer dizer que todo e-mail que tiver pontuação de 6 até 10 será encaminhado para a pasta .spam (configurado pelo maildrop) e todo e-mail que tiver pontuação de 10.1 até 16 será enviado para quarentena e o que for maior que isso será deletado.

O maildrop é quem vai encaminhar para a pasta .spam se ela existir, ou então será criada.

Configuração do maildrop:

Deve ser criado um arquivo chamado mailfilter com a seguinte configuração:

1 - Deve ter permissão:

# chmod 600 mailfilter
# chown vpopmail.vchkpw mailfilter
-rw------- 1 vpopmail vchkpw 786 2007-11-05 16:19 mailfilter

2 - Configuração do arquivo mailfilter:

import EXT
import HOST
SHELL="/bin/sh"
VHOME=`/home/vpopmail/bin/vuserinfo -d $EXT@$HOST`
SPAMDIR="$VHOME/Maildir/.Spam"
VPOP="| /home/vpopmail/bin/vdelivermail '' bounce-no-mailbox"
logfile "/var/log/maildrop.log"
TIMESTAMP=`date "+%d %b %H:%M:%S"`
DUMMY=`test -d $VHOME/Maildir`
if ( $RETURNCODE == 1 )
{
   log "conta inexistente: $EXT@$HOST em $TIMESTAMP"
   EXITCODE=100
   exit
}

#if (/^X-Spam-Flag: *YES/)
if  (/^X-Spam-Status: YES/)
{
   RETURNCODE=`[ -d $SPAMDIR ] || echo 1`
   if ( $RETURNCODE == 1 )
   {
      log "pasta $SPAMDIR ainda nao existia na conta $EXT@$HOST, criando..."
      `/usr/local/bin/maildirmake $SPAMDIR`
      `chown -R vpopmail:vchkpw $SPAMDIR`
      `echo "INBOX.Spam >> $VHOME/Maildir/courierimapsubscribed"`
      `/usr/local/sbin/subscribeIMAP.sh Spam $VHOME`    
      ## este arquivo é que faz a pasta Spam ser visível no squirrelmail
   }
   to "$SPAMDIR"
}

to "$VPOP"

OBS: Observe que o arquivo /usr/local/sbin/subscribeIMAP.sh é quem diz para o squirrelmail que a pasta Spam deve ser visível.

3 - Arquivo /usr/local/sbin/subscribeIMAP.sh.

Páginas pesquisadas:
#!/bin/sh
#
# This subscribes the folder passed as $1 to courier imap
# so that Maildir reading apps (Sqwebmail, Courier-IMAP) and
# IMAP clients (squirrelmail, Mailman, etc) will recognize the
# extra mail folder.
# Matt Simerson - 12 June 2003


LIST="$2/Maildir/courierimapsubscribed"
if [ -f "$LIST" ]; then
   # if the file exists, check it for the new folder
   TEST=`cat "$LIST" | grep "INBOX.$1"`
   # if it is not there, add it
   if [ "$TEST" = "" ]; then
      echo "INBOX.$1" >> $LIST
   fi
else
   FULL="INBOX\nINBOX.Sent\nINBOX.Trash\nINBOX.Drafts\nINBOX.$1"
   echo -e $FULL > $LIST
   /bin/chown vpopmail:vchkpw $LIST
   /bin/chmod 644 $LIST
fi

# chmod 755 /usr/local/sbin/subscribeIMAP.sh
# qmailctl stop
# qmailctl start
# qmailctl stat


4 - Arquivo de log:

# touch /var/log/maildrop.log
# chown vpopmail:vchkpw /var/log/maildrop.log
# chmod 774 /var/log/maildrop.log


5 - Arquivo .qmail-default:

# chown vpopmail:vchkpw .qmail-default

| /usr/local/bin/maildrop /home/vpopmail/domains/ipec.fiocruz.br/mailfilter

Outras dicas deste autor
Nenhuma dica encontrada.
Leitura recomendada

Erro ao carregar 'kio_pop3'

Teste de autenticação em servidor IMAP

SpamAssassin - Usando whitelist para liberar e-mails de um domínio

Exim4 - retry time not reached [Resolvido]

Cliente de e-mail: você ainda usa?

  

Comentários
[1] Comentário enviado por Gabriel_Silva em 03/12/2008 - 16:20h

Este filtro desconsidera que existem aliases ou apelidos. Ele somente testa a existencia do homedir.

T+
Pablo Costa



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts