Mão na Massa LDAP - 1 Profissional por Máquina
Configure um serviço de Diretórios baseado no servidor OpenLDAP!
Dia 6 de Dezembro - São Paulo
Saiba mais
English for Reading and Listening
Receba por email, diariamente, mensagens contendo materiais para
leitura e audição, incluindo arquivos no formato MP3 gravados por
falantes nativos.
Saiba mais
e faça
sua inscrição
Assine a Lista Dicas-L
Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.
Bofofilter e SpamAssassin
Colaboração: Douglas Adriano Augusto
Data de Publicação: 29 de Janeiro de 2004
Eu desenvolvi uma shell script para o treinamento inicial
do bogofilter através do spamassassin. Funciona da seguinte
maneira: dado um conjunto de mensagens de e-mail (cada qual
em um arquivo), contendo spams e não spams, o spamassassin
classifica cada uma delas, assim como o bogofilter. Em
cada mensagem que a classificação do bogofilter diferir da
classificação do spamassasin, este é retreinado de acordo com
o palpite do spamassassin.
Com uma variedade considerável de e-mails, o bogofilter é
capaz de assimilar com bastante fidelidade a experiência
do spamassassin. A partir deste momento, o bogofilter já
pode seguir rumo próprio, apenas refinando à medida que for
necessário.
Abaixo o script:
###
bogoassassin.sh
###
#!/bin/sh
# Treina a base do Bogofilter utilizando o conhecimento do Spamassassin, para
# uma dada mensagem. Se o Bogofilter classificar incorretamente (sob a
# perspectiva do spamassassin), este será re-treinado para o caso onde falhou.
# Train On Error (TOE)
# O objetivo é aproveitar toda a experiência do Spamassasin e, então, apenas
# refinar a base de dados do Bogofilter ao decorrer do tempo.
# Douglas Augusto (douglas@coc.ufrj.br), 15/Set/2003 - Sob GPL
# Uso: ./bogoassassin.sh arquivo-mensagem
# É recomendado o processamento em lote, tendo como base todas as mensagens
# previamente arquivadas:
# Ex.: for i in $(ls); do ./bogoassassin.sh $i; done
# (processa todas as mensagens do diretório atual)
# localização dos binários
BOGOFILTER="/usr/bin/bogofilter";
SPAMASSASSIN="/usr/bin/spamassassin";
SPAMASSASSINCLIENT="/usr/bin/spamc";
$BOGOFILTER < $*
# 0 = SPAM, 1 = NONSPAM
CLASS_BOGO=$?
# Classificação pelo SpamAssassin
# Modo normal (mais lento), habilitado por padrão:
$SPAMASSASSIN -e < $* > /dev/null
# Caso utilize o spamd/spamc. Este método é recomendado para o processamento em
# lote, por ser mais veloz. É necessário, entretanto, que o servidor 'spamd'
# esteja rodando. Descomente a linha a seguir e comente a linha referente ao modo normal.
#$SPAMASSASSINCLIENT -c < $* > /dev/null
# 0 = NONSPAM, >0 = SPAM
if [ $? = 0 ]; then # nao é SPAM, segundo o spamassassin
echo "- NONSPAM" "["$*"] (Spamassassin)"
if [ $CLASS_BOGO = 0 ]; then # o bogo acusou erroneamente SPAM
echo " SPAM ["$*"] (Bogofilter): Re-treinando!"
# fazer a correção
$BOGOFILTER -n < $*
else
echo " NONSPAM ["$*"] (Bogofilter): Ok!"
fi
else # é SPAM, segundo o spamassassin
echo "- SPAM" "["$*"] (Spamassassin)"
if [ $CLASS_BOGO != 0 ]; then # o bogo não acusou SPAM :(
echo " NONSPAM ["$*"] (Bogofilter): Re-treinando!"
# fazer a correção
$BOGOFILTER -s < $*
else
echo " SPAM ["$*"] (Bogofilter): Ok!"
fi
fi
###
Veja a relação completa dos artigos de Douglas Adriano Augusto
Referências Adicionais
Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.
Avalie esta dica
- Currently 3.02/5
- 1
- 2
- 3
- 4
- 5
Avaliação:
3.0 /5
(526 votos)
Mão na Massa LDAP - 1 Profissional por Máquina
Configure um serviço de Diretórios baseado no servidor OpenLDAP!
Dia 6 de Dezembro - São Paulo
Saiba mais
Biblioteca
Redes - Guia Prático
Por Carlos. E. Morimoto
Hardware - o Guia Definitivo
Por Carlos. E. Morimoto
Kurumin 7 - Guia Prático
Por Carlos. E. Morimoto
Linux: Ferramentas Técnicas, 2ed
Por Carlos. E. Morimoto
VPN: Virtual Private Network
Por Lino Sarlo da Silva
MySQL - Guia do Programador
Por André Milani
Sistemas de Banco de Dados
Por Ramez E. Elmasri e Shamkant Navathe
Hardware PC: Guia de Aprendizagem Rápida
Por Carlos E. Morimoto
Extreme Programming
Por Vinicius Manhaes Teles
Google Hacking
Por JOHNNY LONG
Elite da Tropa
Por Luis Eduardo Soares, Andre Batista e Rodrigo Pimentel
Harry Potter e as Relíquias da Morte
Por J.K. Rowling
Manual Completo do Linux: Guia do Administrador
Por Evi Nemeth, Trent R. Hein, Garth Snyder
PHP para Quem Conhece PHP
Por Juliano Niederauer
O Conhecimento em Rede
Por Carlos Nepomuceno e Marcos Cavalcanti
Enterprise Javabeans 3.0
Por Bill Burke, Richard Monson
Redes de Computadores
Por Andrew S. Tanembaum
Marley e Eu: a Vida e o Amor ao Lado do Pior Cão do Mundo
Por John Grogan
Deus, um delírio
Por Richard Dawkins
Java: Como Programar
Por Harvey M. Deitel e Paul J. Deitel
Descobrindo o Linux: Entenda o Sistema Operacional GNU/Linux
Por Joao Eriberto Mota Filho
Use a Cabeça!: JSP & Servlets
Por Brian Bashan, Kathy Sierra, Bert Bates
1808
Por Laurentino Gomes
UML: Guia do Usuário
Por Grady Booch, James Rumbaugh e Ivar Jacobson