[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]