shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

extrair anexo de email.


From: Eric Anderson
Subject: extrair anexo de email.
Date: Fri, 10 Nov 2006 10:00:01 -0200

Srs, bom dia.

Existe uma maneira fácil de se extrair anexos "codificados" de uma mensagem de 
email? Consegui uma vez fazer um script pra extrair o anexo, mas no meu caso 
era um txt que vinha no corpo da mensagem, em texto plano.

#========================================================================================================================
#!/bin/sh

function edi() {
DIRS=( cur new )

case $1 in

'UNIDOCKS')
SUBJECT="Subject:\ Unidock"
SAIDA="/tmp/unidocks"
;;
'PANA')
SUBJECT="From:\ gko\@br.panasonic.com"
SAIDA="/tmp/panasonic"
;;
esac

for z in ${DIRS[@]}; do
CAMINHO="/var/vpopmail/domains/vianet-express.com.br/2/edi/Maildir/$z/"
cd $CAMINHO
        for i in `ls *`; do

#NA LINHA ABAIXO EU VEO SE O ASSUNTO É O ESPERADO

                if grep "$SUBJECT" $i;then
    
#SE O ASSUNTO FOR O ESPERADO, EU PEGO O NOME DO ANEXO
                        NOME=`grep "attachment\;" $i | cut -d "\"" -f2`
#DEPOIS EU PEGO O NÚMERO DA LINHA ONDE COMEÇA O ANEXO
                        COMECO=`grep -n 000Uni $i | cut -d ":" -f1`
                        FIM=``

#DAQUI PRA BAIXO SÃO TOSQUICES QUE MEU PARCO CONHECIMENTO ME PERMITIU CRIAR. 
BASICAMENTE, PEGO O TRECHO DA MENSAGEM REFERENTE AO ANEXO E SALVO EM UM ARQUIVO.
                        echo $NOME

                        fromdos < $i | cat | sed -n "$COMECO,$"p $i | sed -e 
/NextPart/d | sed -e /^$/d | todos > $SAIDA/$NOME

                        scp $SAIDA/$NOME 
eric@192.168.1.6:/dados/EDI/Importacao/Unidocks/

                        if [ $? == 0 ]; then
                                mv $SAIDA/$NOME /$SAIDA/backup
                                mv $i /$SAIDA/backup/mail
                        fi

                        echo `date` - email: $i - arquivo: $NOME - | tee -a 
/var/log/ediunidocks.log
        #               echo $NOME
        #               echo $COMECO

                        else

#                       mv $i $SAIDA/backup/mail/${i}NAOEDI
                        echo `date` - $i - "Email nao EDI" - | tee -a 
/var/log/ediunidocks.log
                fi
        done
done
}

edi UNIDOCKS
#==========================================================================================================================

Agora preciso extrair anexos do tipo excel etc mas não sei como saber qual a 
primeira e a última linha do anexo pra poder extrair e depois decodificar.

Any ideas?

sds

Eric

[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]