[SP-pm] lendo emails para inserir em um banco algumas informações

Neilson P. Lima neilsonlima at gmail.com
Fri Jul 18 11:18:20 PDT 2008


Monges,

Uma conta de e-mail recebe um arquivo que o script abaixo vai ler e inserir
numa base de dados. Pode existir vários arquivos, porém, alguns desses
e-mails quem envia é sempre o mesmo remetente. Existe um padrão para o
conteúdo desses e-mails, cada coluna separada por ';'.

O cabeçalho do e-mail contém o e-mail do remetente e o no conteúdo tem uma
coluna que seu conteúdo é iniciado por um valor padrão (ex: 4223xxxxx). Até
aqui o script verifica o remetente, se for verdade, imprime o nome da
arquivo.

Estou pensando em verificar o remetente antes de entrar no while, se o
retorno for verdadeiro faço a leitura do arquivo fazendo outras
verificações:

- se  as linhas iniciam com 4223
- se as linhas estão com oito colunas

Por fim monto as querys e insiro no banco.

Sugestões?

<code>
#!/usr/bin/perl -w
$dirname = "diretorio";
opendir ( DIR, $dirname ) || die "Erro ao abrir $dirname\n";
while( ($filename = readdir(DIR))){
        next if ( ($filename eq ".") || ($filename eq "..") );
        open( DATA, $dirname.'/'.$filename ) or die $!;
        while(<DATA>){
                if ($_ =~ /remetente\@temetente.com/){
                        print "$filename\n";
                }
        }
        close(DATA);
}
closedir(DIR);
</code>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.pm.org/pipermail/saopaulo-pm/attachments/20080718/1cfb2163/attachment-0001.html>


More information about the SaoPaulo-pm mailing list