Acesso direto ao conteúdo
Logotipo Dicas-L, por Ricardo Burile

Busca

Visite também: Segurança Linux ·  UnderLinux ·  VivaOLinux ·  LinuxSecurity ·  NoticiasLinux ·  BR-Linux ·  SoftwareLivre.org ·  [mais]   
 

Você está aqui: Home  → Arquivo Dicas-L

 

Assine a Lista Dicas-L

Receba diariamente por email as dicas
de informática publicadas neste site
Para se descadastrar, clique aqui.

Configuração do programa Procmail

Colaboração: Jorge Luiz Godoy Filho

Data de Publicação: 24 de Abril de 1998

Essa mensagem e' nova. Estou escrevendo para ser a primeira (ou uma das) da serie sobre o procmail.

Pre-requisitos: existencia do pacote do procmail ja' instalado.

Configuracao do procmail:

Para ter o procmail funcionando e filtrando e-mail, editar os seguintes arquivos conforme conveniente:

   ---------- Arquivo ~/.procmailrc --- Permissoes: u=rw,g=r,o=r -----------=
  # Arquivo de configuracao do procmail.
  #
  # Versao 1.6
  #   21/03/98
  #
  
  # 1. Variaveis.
  
  SHELL=/bin/sh
  PATH=/bin:/usr/bin:/usr/local/bin
  MAILDIR=$HOME/mail                  # Deve existir!!!!
  LOGFILE=$MAILDIR/.log               # Log do que foi feito pelo procmail.
  VERBOSE=no
  SENDMAIL=/usr/sbin/sendmail
  FORMAIL=/usr/bin/formail
  
  
  # 2. Regras.
  #
  # Nota: ^TO satisfaz campos: TO, CC e BCC. ;o)) 
  # Nota2: Caso as inboxes nao existam, sao criadas automaticamente.
  
  # :0 c           # Habilitar para testes.
  # backup
  
  
  # Evitar cros-posting
  # 8K de "cache" para guardar os IDs das mensagens, que sao unicos.
  
  :0 Wh: msgid.lock
  | formail -D 8192 msgid.cache
  
    ----------------------------- NOTA / COMENTARIO ---------------------
  A regra acima cria um arquivo chamado ~/mail/msgid.cache onde sao=
  guardados os IDs das mensagens recebidas, de modo que se ele existir ali,
  a mensagem e' descartada.
  
   ------------------------------- CONTINUACAO -------------------------
  # Regras para listas de discussao.
  # Mudadas de ^TO para ^Sender pois havia mensagens que nao eram filtradas
  # corretamente.
  
  :0: dicas-l.lock
  * ^Sender:.*dicas-l-owner
  dicas-l
  
  :0: bugtraq.lock
  * ^Sender:.*BUGTRAQ
  bugtraq
  
  :0: bugtraq.lock
  * ^X-Mailing-List:.*linux-security
  bugtraq
  
   -------------------------- NOTA / COMENTARIO ---------------------------
  Todas as mensagens possuem o campo Sender ou X-Sender. As regras acima
  separam as mensagens de algumas listas de discussao dea cordo com o Sender
  da mensagem. Adotei essa medida pois nessas listas acima relacionadas, o
  Sender da mensagem e' alterado para o nome da lista.
  
  Uma outra alternativa, e' usar o campo X-Mailing-List. Infelizmente, nao
  sao todas as listas que definem esse campo. (Ja' vi tambem o campo List)
  ------------------------------ CONTINUACAO -----------------------------
  
  :0: lie-ldp.lock
  * ^TOlie
  lie-ldp
  
  :0: lie-ldp.lock
  * ^TOldp
  lie-ldp
  
  --------------------------- NOTA / COMENTARIO -------------------------
  No caso das duas listas acima, nao ha' o campo X-Mailing-List e o Sender
  da mensagem nao e' alterado. A lista apenas reencaminha as mensagens para
  os demais recipientes, mantendo os cabecalhos originais ou fazendo
  alteracoes nao comuns.
  A solucao que encontrei/optei foi o uso do campo do destinatario (TO, CC,
  BCC & cia) para a filtragem das mensagens.
  ------------------------------ CONTINUACAO ----------------------------
  
  :0: bestway.lock
  * ^From.*webmaster@bestway.com.br
  bestway
  
  -------------------------- NOTA / COMENTARIO -------------------------
  Pode-se ainda, filtrar e-mails de acordo com o nome do usuario que enviou
  a mensagem. Essa informacao vem contida no campo FROM.
  ------------------------------ CONTINUACAO --------------------------
  
  # Filtro para chain-mail.    --- Funciona OK.
  #
  # :0: chain.lock
  # * ^TO*@*, *@*, *@*
  # chain
  
  ----------------------------- NOTA / COMENTARIO ----------------------
  Se voce nao e' fa daquelas mailing-lists, essa regra acima joga todas as
  mensagens para um arquivo chamado ~/mail/chain. Voce pode redirecionar=
  para /dev/null... ;))
  ------------------------------- CONTINUACAO -------------------------
  
  
  # E-mails que nao satisfazem as regras acima sao colocados em $DEFAULT
  # ou seja, na inbox em /var/spool/mail/$USERNAME
  --------------------------------------------------------------------------

No exemplo acima, as pastas referenciadas sao criadas em ~/mail/ e sao= automaticamente geradas pelo procmail caso nao existam. As permissoes da pasta devem ser de rw para o owner, apenas. $DEFAULT e' a pasta padrao, que e' /var/spool/mail/$USERNAME por padrao.

O seguinte arquivo deve ser colocado no HOME do usuario, mudando-se apenas o username apos o sinal "#".

  ----------- Arquivo ~/.forward ------- Permissoes:u=rw,g=r,o=r ------------=
  "|IFS=' '&&exec /usr/bin/procmail -f-||exit 75 #jorge"
  ---------------------------------------------------------------------------

Nao esquecer das aspas!!!! :o)

Maiores informacoes: man procmail man procmailrc man procmailex <--- MUITO boa!!!


Esse e' um arquivo que mantenho aqui para referencia em futuras instalacoes/upgrades. ;)

Uma coisa que notei e' que o arquivo .forward pode ser eliminado. A condicao para essa eliminacao e' que conste no /etc/sendmail.cf o seguinte trecho:

   ----------------------------- CUT --------------------------------------
  < A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>##
  < A NAME="note#   Local and Program Mailer specification   " HREF="#textnote#   Local and Program Mailer specification   ">< SUP>#   Local and Program Mailer specification   #
  < A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>< A NAME="note" HREF="#textnote">< SUP>##
  
  < A NAME="note" HREF="#textnote">< SUP>#  @(#)local.m4     8.23 (Berkeley) 5/31/96  < A NAME="note" HREF="#textnote">< SUP>#
  
  Mlocal,         P=/usr/bin/procmail, F=lsDFMAw5:/|@qShP, S=10/30, R=20/40,
                  T=DNS/RFC822/X-Unix,
                  A=procmail -a $h -d $u
   ------------------------------ CUT -------------------------------------
  
  (Repare que o mailer local e' o procmail!!! --- Se existirem essas
  linhas, recomendo que NAO seja usado o .forward)
  
  Mas, voce pode estar se perguntando... Como farei para manter um arquivo
  com a finalidade original do .forward??? 
  Simples! Crie uma regra para isso e, ao inves de inves de indicar o nome
  de uma pasta, referencie um e-mail. Nao esqueca de colocar a mesma regra
  DUAS vezes, uma com a opcao ":0 c" para que a mensagem seja enviada e
  outra com ":0:" para que encerre o processamento sobre aquela mensagem,
  colocando-a na pasta correta.
  
  Como elaborar suas proprias regras? 
  Siga a receita abaixo ;))

:0 opcoes_do_procmail: arquivo_de_lock_das_mensagens * ^Campo_valido_do_e-mail:.regra_a_ser_satisfeita * ^outro_campo:.outra_regra * ^outro_campo:.outra_regra_a_ser_satisfeita . . . folder_destino_para_a_mensagem.

  Repare que voce pode ter um numero consideravel de regras, mas apenas UMA
  linha com pasta destino. As regras tambem devem constar UMA em cada linha.

Veja a relação completa dos artigos de Jorge Luiz Godoy Filho

Formato PDF
Newsfeed RSS
Formato para impressão
PDF RSS Imprimir

Referências Adicionais

Referências adicionais sobre os assuntos abordados neste site podem ser encontradas em nossa Bibliografia.

Avalie esta dica

  • Currently 2.95/5
  • 1
  • 2
  • 3
  • 4
  • 5

Avaliação: 2.9 /5 (1166 votos)

Opinião dos Leitores

Seja o primeiro a comentar este artigo
*Nome:
Email:
Me notifique sobre novos comentários nessa página
Oculte meu email
*Texto:
 
  Para publicar seu comentário, digite o código contido na imagem acima
 


Powered by Scriptsmill Comments Script
Treinamentos, Consultorias e Soluçoes em TI. Baseados em softwares livres e padrões abertos para ambientes de missão crítica

Submarino.com.br

Expressões Regulares - Uma abordagem divertida 3ª edição