Como filtrar e-mail usando procmail



O que é o procmail

Procmail é o utilitário que faz a entrega local de e-mails. Ele atua antes da mensagem ser disponibilizada para acesso via leitores de email como Eudora, Netscape, etc, permitindo, entre outras coisas, filtrar mensagens indesejáveis. Para configurar o procmail é necessário criar um arquivo ".procmailrc" em seu diretório pessoal (normalmente conhecido como diretório home). Para facilitar a configuracao do procmail pode-se utilizar o utilitário despam. O uso conjunto destes dois aplicativos encontra-se descrito a seguir.


Procedimento de instalação
(há o script instala_filtro que implementa este procedimento. Conecte-se via ssh e execute o comando: instala_filtro)
  1. crie o arquivo .procmailrc em seu diretório home;

  2. crie o subdiretório mail em seu diretório home;

  3. crie um arquivo chamado .filtros no diretório mail contendo as regras de filtragem do despam;

  4. crie um arquivo chamado .meus_conhecidos no diretório mail contendo os emais conhecidos .


O arquivo $HOME/mail/.filtros
buzz
    futebol
    ajuda

allow
    *@plato.com.br
    *@yahoo.com

suspicious
    *@@com.br
    *@@com

deny
    vendas@bingo.com.br
  • * denota uma seqüência de caracteres opcionais;
  • @@ implica inclusão dos sub-domínios. Por exemplo, @@foo.com vale para @foo.com, assim como para @bar.foo.com, etc.


Aceitação/Rejeição de mensagens

a) Uma mensagem é  garantidamente aceita se ocorrer qualquer um dos casos abaixo:

  1. seja resposta de alguma mensagem enviada (campo In-Reply-To do cabeçalho confere com inf.ufsc.br);
  2. contenha uma das palavras descritas nesta seção  buzz de .filtros no assunto (Subject);
  3. contenha uma chave válida no assunto (Subject) (ver mais abaixo);

b) Não tendo sido aceita conforme descrito acima, uma mensagem é rejeitada se:

  1. qualquer do remetentes estiver classificado como negado (deny);
  2. houver algum remetente suspeito (suspicious) e não houver nenhum remetente conhecido (.meus_conhecidos) ou permitido (allow);
Obs: as mensagens rejeitadas são armazenadas numa pasta chamada suspeitos_rejeitados podendo ser lidas via webmail, pine ou qualquer leitor de email configurado para utilizar o protocolo imap.

c) Não tendo sido rejeitada conforme descrito acima, a mensagem é aceita

No caso de uma mensagem ser rejeita por ser suspeita (item b.2), o remetente recebe uma mensagem informando a rejeição. Nesta mensagem segue inclusa uma chave que se inserida no assunto (Subject) possibilita o reenvio da mensagem com garantias de recebimento (ver item a.3).


Sugestão de configuração

A sugestão de configuração é que se registre como suspeitos (suspicious) os domínios mais gerais (.com e .com.br, por exemplo) e se abram excessões via allow para domínios mais específicos (tais como yahoo.com e plato.com.br).

A grande maioria das mensagens indesejáveis vem dos domínios .com e .com.br (e seus sub-domínios). Dai porque registrá-los como suspeitos, abrindo permissões apenas para alguns de seus sub-domínios.

No que se refere à cláusula deny, a sugestão é que ela seja usada moderadamente e com endereços bem específicos.