Respostas:
formal , parte do procmail (e provavelmente já está disponível no seu sistema) pode pegar uma caixa de correio, dividi-la em mensagens e, em seguida, executar um comando em cada uma. Na página do manual:
-s The input will be split up into separate mail messages, and piped
into a program one by one (a new program is started for every
part). -s has to be the last option specified, the first argument
following it is expected to be the name of a program, any other
arguments will be passed along to it. If you omit the program,
then formail will simply concatenate the split mails on stdout
again. See FILENO.
Então você pode fazer o que eu acho que você quer assim:
formail -s /usr/sbin/sendmail -oi -t < /var/mail/root
ls /var/mail
; faça formal -s / usr / sbin / sendmail -oi $ foo <./$foo; done" deve fazer um loop em cada arquivo e entregar localmente ..
mutt -f /var/mail/www-data
Então dentro de vira-lata ...
T.*
;b
T o coloca no modo de marcação e. * Marca todas as mensagens. O ponto-e-vírgula aplica o próximo comando a todas as mensagens marcadas e, por fim, b "devolve" as mensagens para um endereço solicitado.
De memória, acho que ou
D.*
ou
T.*
;d
Esvaziará a caixa de correio.
Os arquivos de caixa de correio / var / spool / mail / xxx unix são arquivos de texto simples em que as mensagens são mantidas em seqüência. Cada mensagem de e-mail começa com uma linha "De" (que não faz parte da mensagem) com remetente e data de recepção e, em seguida, você recebe os cabeçalhos e o corpo do e-mail.
Basicamente, você pode simplesmente fazer um loop no arquivo, detectando tais linhas From e extrair todas as mensagens e enviá-las usando ferramentas como o módulo python smtp ou o módulo perl Net :: SMTP da cpan.
Se o destino for outra caixa de correio local, basta anexar as mensagens (incluindo a linha De). Você pode até anexar toda a caixa de correio raiz a outra caixa de correio se não se importar também em receber mensagens realmente direcionadas para raiz.
Eu deveria ter alguns scripts que fazem isso e publicarei exemplos, se você quiser.
O problema pode ser o de obter o destino real da mensagem, porque, se terminarem na caixa de correio raiz, provavelmente serão direcionados para a raiz desde o início.