
CentOS 5.x | Enviar correio
Oi, pessoal,
Existe uma maneira fácil de recuperar mensagens individuais de/var/spool/mail/? Tenho uma ideia para um script realmente simples e gostaria de verificar se há alguma coisa em cada mensagem individual.
O cenário seria:
1) novo e-mail chega na caixa de entrada. 2) O script verifica determinada string. 3) Se a string for encontrada, o script recupera várias informações de cabeçalho e informações de e-mail para o endereço.
Sei que um milter provavelmente seria a melhor opção, mas esperava encontrar uma maneira de fazer isso com um script de shell, pois quero praticar isso. O problema é que não consigo encontrar uma maneira de analisar ou isolar as mensagens individuais. Quando examino /var/spool/mail/, vejo um arquivo grande com várias mensagens e nenhum delimitador exclusivo entre as mensagens.
Responder1
Se você ignorar scripts de shell simples, quase todas as linguagens de programação terão uma biblioteca para analisar ummboxcaixa de correio formatada.
- http://docs.python.org/library/mailbox.html
- http://search.cpan.org/~dcoppit/Mail-Mbox-MessageParser-1.5002/lib/Mail/Mbox/MessageParser/Perl.pm
- http://www.phpclasses.org/browse/file/3127.html
É claro que se você olhar ao redor, também poderá encontrar muitas bibliotecas de clientes POP3 e IMAP.
Você também deve ser capaz de usar algo comoprocmailoucorreiopara filtrar suas mensagens.
Responder2
Classicamente, você faria esse tipo de coisa quando o e-mail fosse recebido, usando um MDA como o procmail. Se você já possui uma caixa de correio, o procmail vem com formail
(1), que permite executar um programa em cada e-mail de uma caixa de correio e possui recursos para filtrar e reescrever cabeçalhos.