Para quem não sabe, Procmail é um agente de entrega LOCAL que se encarrega de postar a mensagem localmente, ou seja, gravá-la efetivamente na caixa postal do usuário. Não é uma alternativa ao Sendmail, Exim ou Qmail, pois estes servem para enviar mensagens entre máquinas distintas usando SMTP (Simple Mail Transfer Protocol). No Linux, tipicamente, o Sendmail faz uso do Procmail para entregas locais de mensagens.

Devido ao constante crescimento dos SPAMs, o Administrador de Sistema precisa sempre esta atualizado quanto as alternativas para minimizá-lo, e o Procmail pode ajudar bastante nesta luta.

Em agosto quase 90% dos e-mails corporativos eram spams, diz pesquisa

Abaixo publicarei minha última implementação no /etc/procmailrc, a qual bloqueia mensagens com anexos com algumas extensões, URLs e texto no Corpo da Mensagem:

## INICIO

## Bloqueio de e-mails que contenham anexos com algumas extensões
## de arquivos
## Apaga os e-mails bloqueados
## Arquivo
blockmail.pl localizado no diretório /etc/procmail.d/
SHELL=/bin/sh

:0 HB
* ! ? /etc/procmail.d/blockmail.pl

{
:0
/dev/null
}

## Bloqueio de e-mails que contenham URLs no Corpo da Mensagem
## com algumas extensões
## Apaga os e-mails bloqueados
:0 B

* ((ht|f)tp(s?))\://([0-9a-z\-\_]+\.)+([a-z][a-z]|[a-z][a-z][a-z])(\:[0-9]+)?(/+)(([0-9a-z\-\~\_\%\.]+/+)+)?([0-9a-z\-\.\~\_\%]+\.)+(exe|scr|pif|com|cmd|bat)([^0-9a-z\-\.\~\_\%/]|$)

/dev/null

## Bloqueio de e-mails que contenham algumas palavras
## no Corpo da Mensagem
## Envia os e-mails bloqueado para o diretório
## /var/log/emailsrecusados/sefin
:0 B

* (money|three|steps|plugged|enlarge|left|millions|featured|separate|
yourself|exploded|unbeatable|cardinals|stings|going|before|eremetic|
safe|effective|morning|night|pills|only|manster|definitive|
confidence|will|love|other|performance|pleasure|something|bigger|
better|erection|orgasm|sessions|customers|seeing|weeks|months|first|
second|haha|these|girl|dating|penis)

/var/log/emailsrecusados/sefin

## FIM

Importante, cada regra possuí apenas 3 linhas, a primeira indicando o tipo de comando, a segunda indica o que vai ser bloqueado e a terceira indica o destino da mensagem bloqueada. Lembre-se, 3 linhas!

Estas são apenas regras que podem ser implementadas no Procmail, ou seja, somente elas não fazem com que o Procmail funcione perfeitamente, o arquivo procmailrc contém outras linhas.

Até!