2008/10/19 Alan Testoni <[EMAIL PROTECTED]> > Olá Fabiano, agradeço a força por tentar ajudar. > > Os textos de origem são as mensagens de spam armazenadas pelo amavis-new > com o conteudo na forma do exemplo abaixo: > > Return-Path: <[EMAIL PROTECTED]> > Delivered-To: spam-quarantine > X-Envelope-From: <[EMAIL PROTECTED]> > X-Envelope-To: <[EMAIL PROTECTED]> > X-Quarantine-ID: <fZZJZyY+3sYx> > X-Spam-Flag: YES > X-Spam-Score: 19.207 > X-Spam-Level: ******************* > > O que preciso é que um script consiga ler todos os arquivos de > mensagem identificando o resultado do campo "X-Envelope-To:" Se for como > nesse exemplo pro [EMAIL PROTECTED] então o script moverá a > mensagem para a pasta "/home/vmail/dominio.com.br/financeiro/.Quarentena". > Se o campo tivesse [EMAIL PROTECTED] então o script moveria a mensagem > para a pasta "/home/vmail/dominio.com.br/alan/.Quarentena" e assim com > todas as outras mensagens que estão no diretório padrão de repositório de > spam do Amavis-new, que é o "/var/lib/amavis/virusmail" > > Espero ter conseguido explicar. > > > --- Em sáb, 18/10/08, Fabiano Caixeta Duarte <[EMAIL PROTECTED]> > escreveu: > > De: Fabiano Caixeta Duarte <[EMAIL PROTECTED]> > Assunto: Re: [shell-script] Mover resultado do filtro para pasta de destino > Para: shell-script@yahoogrupos.com.br > Data: Sábado, 18 de Outubro de 2008, 23:31 > > > > > > > 2008/10/18 Alan <alan_testoni@ yahoo.com. br> > > > > > > > Fabiano obrigado por tentar me ajudar mas como como devo usar isto? Não > > entendi sua ajuda. > > > > > > > > > > > > _____ > > > > > > > > > > > Isto deve te ajudar: > > > > email=fulano@ dominio.com. br; echo [EMAIL PROTECTED]/ ${email%@ *} > > dominio.com. br/fulano > > > > -- > > > > #find /var/lib/amavis/ virusmails/ |xargs grep -s -a -i [EMAIL PROTECTED] > > <mailto:ricardo% <ricardo%25> 40dominio. com.br <ricardo%2540domini > o.com.br> > com.br |cut > > -d: -f1 > > > > > > > > ------- Resultado da busca ------------ -- > > /var/lib/amavis/ virusmails/ H/spam-HuNkPNOvu Lql > > /var/lib/amavis/ virusmails/ H/spam-HuNkPNOvu Lql > > /var/lib/amavis/ virusmails/ H/spam-HuNkPNOvu Lql > > /var/lib/amavis/ virusmails/ H/spam-HuNkPNOvu Lql > > /var/lib/amavis/ virusmails/ d/spam-d8Pc27NNj mSB > > /var/lib/amavis/ virusmails/ d/spam-d8Pc27NNj mSB > > > > > > > > [As partes desta mensagem que não continham texto foram removidas] > > > > É o que venho te dizendo. Mostre um exemplo do texto de origem para que > possamos te ajudar na solução. > > Pelo que vi você está usando maildir. > > No aguardo, >
Alan, Não sei se você já resolveu. Só hoje consegui te responder. Vai aí um script mastigadinho ;) Só vai precisar (talvez) estudar pra entender e, eventualmente, adaptar cat quarentena.sh #!/bin/bash while [ $# -gt 0 ]; do email=$(grep X-Envelope-To $1 | sed 's/^.*<\([^>]*\)>/\1/') target=/home/vmail/[EMAIL PROTECTED]/[EMAIL PROTECTED]/.Quarentena echo mkdir -p $target echo mv $1 $target shift done Uso: find /caminho/dos/spams -type f | xargs /caminho/do/script/quarentena.sh Se funcionar, retire os echos e seja feliz ;) -- Fabiano Caixeta Duarte Especialista em Redes de Computadores Linux User #195299 Ribeirão Preto - SP [As partes desta mensagem que não continham texto foram removidas]