Copie o correio unix (recebido pelo sendmail) para um diretório linux (individualmente)

Copie o correio unix (recebido pelo sendmail) para um diretório linux (individualmente)

Alguém conhece uma maneira de copiar todos os e-mails recém-chegados (no Fedora Linux), para armazená-los em um diretório Linux (não em alguma outra pasta de correio, mas no diretório do sistema de arquivos Linux)?

Usamos Procmail como sistema de entrega. Eu olhei alguns documentos, mas todos eles mostram apenas dois padrões em relação à cópia:

  1. Anexar a mail.bkp - não sabe por que anexar todos os e-mails em um arquivo?
  2. Coloque tudo em /dev/null – para lidar com spam

Eu preciso ter um mecanismo 'leve' para copiar/arquivar todos os novos e-mails em um sistema de arquivos Linux como

  • /home/nome de usuário/data/archive/mail1.x
  • /home/nome de usuário/data/archive/mail2.x
  • /home/nome de usuário/data/archive/mail3.x

e estou planejando usar o ouvinte de diretório Java para ler esses e-mails em paralelo.

Por favor, me dê seus conselhos valiosos.

Responder1

Uma solução para o seu problema seria usar o arquivo procmailrc para salvar uma cópia do e-mail no formato Maildir.

Maildir mantém cada e-mail como um arquivo separado, o que resolve o seu problema. Além disso, se você copiar o e-mail, ele ainda irá para os outros locais existentes:

seu procmailrc teria o seguinte (ou linhas semelhantes) próximo ao topo:

:0c:
$HOME/Maildir/

Você ainda precisaria criar a pasta Maildirem seu diretório inicial.

Responder2

Entregar para um diretório apenas para ter um sistema elaborado para monitorar esse diretório é bastante estranho. Se o seu programa Java puder ler a entrada padrão, basta canalizá-la diretamente para ela.

:0
| /path/to/java -crash -boom -bang -coredump=always

informação relacionada