Pular para o conteúdo

Diretório "spam" para SpamAssassin - Configuração com Postfix e MailDrop

Dica publicada em Linux / Introdução
Thiago Miranda thiagomiranda3
Hits: 10.719 Categoria: Linux Subcategoria: Introdução
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Diretório "spam" para SpamAssassin - Configuração com Postfix e MailDrop

Fala, galera do Viva o Linux.

Nessa dica, ensino como fazer a configuração de um diretório específico para recebimento de e-mails, considerados como spam pelo SpamAssassin.

Depois de muito tempo ralando e, literalmente, vasculhando praticamente toda a Internet para fazer o que está no título dessa dica, acabamos por conseguir, depois de longos três dias de trabalho. Portanto, me vi na obrigação de compartilhar nesta dica, como tivemos sucesso nessa empreitada árdua.

* Quero deixar avisado, porém, que nessa dica eu não ensino como instalar o Postfix em sua máquina, você já deve tê-lo funcional aí. O tutorial vai abordar, basicamente, a instalação e configuração do SpamAssassin e MailDrop, e como criar um diretório específico para mandar os spams que chegarem.

Instalação

Começando pela instalação:

# apt-get install spamassassin spamc courier-maildrop

Adicionando os usuários e seus privilégios:

# groupadd -g 5001 spamd
# useradd -u 5001 -g spamd -s /sbin/nologin -d /var/lib/spamassassin spamd
# mkdir /var/lib/spamassassin
# chown spamd:spamd /var/lib/spamassassin


Agora, vá no arquivo /etc/default/spamassassin e modifique os seguintes valores, conforme está abaixo:

ENABLED=1
SAHOME="/var/lib/spamassassin/"
OPTIONS="--create-prefs --max-children 5 --username spamd --helper-home-dir {SAHOME} -s ${SAHOME}spamd.log"
PIDFILE="${SAHOME}spamd.pid"
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Configurando o SpamAssassin

Vá no arquivo /etc/spamassassin/local.cf e modifique os valores de lá, conforme os que estão aqui abaixo:

loadplugin Mail::SpamAssassin::Plugin::DCC
rewrite_header Subject ***SPAM***
required_score      2.0
report_safe   0
use_bayes        1
use_bayes_rules     1
bayes_auto_learn    1
skip_rbl_checks     0
use_razor2       0
use_dcc         0
use_pyzor        0

Restarte o SpamAssassin:

# /etc/init.d/spamassassin restart

Modificando o Postfix

Agora, vá em /etc/postfix/master.cf e na linha onde está:
smtp    inet  n     -     -     -     -     smtpd

Adicione e deixe assim:

smtp  inet n   -   -   -   -   smtpd -o content_filter=spamassassin

No final do arquivo, adicione as seguintes linhas e comente o maildrop que estiver no arquivo, para colocar o que está abaixo:

maildrop unix - n n - - pipe flags=ODRhu user=vmail argv=/usr/bin/maildrop -w 90 -d ${user}@${nexthop} ${extension} ${recipient} ${user}
${nexthop}
spamassassin unix - n n - - pipe user=spamd argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${recipient}

Agora, restarte o Posfix;

# /etc/init.d/postfix restart

Modificando o MailDrop

Se o arquivo não existir, crie-o como /etc/courier/maildroprc. Caso exista, apague o que estiver dentro dele e adicione:

EXTENSION="$1"
RECIPIENT=tolower("$2")
USER="$3"
HOST="$4"
SENDER="$5"
if (/^X-Spam-Flag: *YES/)
{
exception {
`test -d "/home/vmail/${RECIPIENT}/.SPAM"`
if ( $RETURNCODE == 1 )
{
`maildirmake "/home/vmail/${RECIPIENT}/.SPAM"`;
`echo "INBOX.SPAM" >> "/home/vmail/${RECIPIENT}/courierimapsubscribed"`
}
to "/home/vmail/${RECIPIENT}/.SPAM/"
}
}
to "/home/vmail/${RECIPIENT}/"

Restarte novamente o Postfix:

# /etc/init.d/postfix restart

Pronto. A partir de agora, todos os spams que o SpamAssassin pegar, serão mandados para o diretório SPAM.

No entanto, essa pasta só é enxergada pelo Outlook ou Thunderbird, quando o e-mail é configurado como IMAP, se for configurado como POP3, ela não é baixada automaticamente do servidor.

No POP3, os e-mails considerados como spam, serão jogados na pasta SPAM do mesmo jeito, mas, como o cliente de e-mail não estará enxergado-a, vai parecer que simplesmente não está recebendo.

Basta configurar como IMAP, inicialmente, para os clientes de e-mail baixarem a pasta SPAM e novamente voltar para POP3, que tudo funcionará corretamente.

Conclusão

Espero ter ajudado a quem ainda está tendo esse problema.

Pois, foi um sacrifício resolvê-lo e, praticamente, todos os tutoriais que vi na Internet me ajudaram um pouco.

Abraço a todos!

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Recuperando GRUB do Ubuntu

As melhores coisas a fazer depois de instalar o Ubuntu 14

Instalando Wine 1.7 e PlayOnLinux no Ubuntu 14.04 LTS

Adicionando cor ao comando echo

Problemas com teTeX em instalação de pacotes SlackBuilds [Resolvido]

Como criar pendrive USB do Windows 10 bootável usando Linux

Configurando um ambiente LAMP (acrônimo para Linux, Apache, MySQL e PHP) no Ubuntu 10.04

Squid em servidor Windows

PGAdmin 1.8.4 no CentOS Linux 5.2 (i386 / x86_64)

Rodando um servidor Apache com PHP e MySQL

#1 Comentário enviado por lelenux em 01/07/2014 - 01:50h
Gostaria de agradecer pelo excelente material. Muito Obrigado!!!! me ajudou bastante... que exista cada vez mais pessoas assim como você.
Forte abraço!!!

#2 Comentário enviado por tiago.a em 12/09/2014 - 16:17h
opa segui seu exemplo, meus email sao marcados como spam no assunto mas fica na caixa de entrada.
#3 Comentário enviado por thiagomiranda3 em 12/09/2014 - 16:30h
Olá Tiago. Veja se no arquivo /etc/postfix/main.cf o parâmetro virtual_transport esta assim: virtual_transport = maildrop . Caso esteja escrito outra coisa, substitua pelo maildrop depois do igual.

Outra coisa, no arquivo /etc/courier/maildroprc na linha:
`echo "INBOX.SPAM" >> "/home/vmail/${RECIPIENT}/courierimapsubscribed"`

O diretório que eu uso é o /home/vmail/, caso você configure diferente, mude ai também e no arquivo /etc/main.cf novamente, muda o parâmetro virtual_mailbox_base = /home/vmail e coloque o diretório que você utiliza

Abraço!

Contribuir com comentário

Entre na sua conta para comentar.