Como posso aplicar meus filtros do procmail à minha caixa de entrada do maildir?

9

Ontem à noite eu me inscrevi em uma lista de discussão e descobri hoje de manhã que o filtro do meu procmail não se aplicava a muitas das mensagens da lista de discussão. Agora eu tenho um monte de mensagens de lista de discussão menos importantes intercaladas com meus e-mails de trabalho mais importantes na minha caixa de entrada.

É possível reexecutar todos os e-mails da minha caixa de entrada pelos meus filtros do procmail novamente?

Nota: estou usando o formato maildir

    
por Cory Klein 29.06.2012 / 22:03

4 respostas

2

você pode fazer isso, assim:

$ for m in Mail/{cur,new}/*; do echo $m; procmail <$m; rm $m; done

Você tem que remover cada e-mail original depois, ou então o procmail irá duplicá-lo.

Ele também registrará tudo como novo. Não tenho certeza de uma boa maneira de lidar com isso.

    
por 10.11.2012 / 22:58
2

Se você estiver usando o mutt, poderá enviar o e-mail por meio do procmail e também excluir o original da sua caixa de entrada com um comando de tecla como:

muttrc:

macro index y '<enter-command>unset wait_key<enter><tag-prefix><pipe-entry>/usr/bin/procmail /home/user/.procmailrc<enter><tag-prefix><delete-message><enter-command>set wait_key<enter>'

macro pager y '<enter-command>unset wait_key<enter><pipe-entry>/usr/bin/procmail /home/user/.procmailrc<enter><delete-message><enter-command>set wait_key<enter>'

encontrado em link

    
por 24.02.2015 / 15:20
1

Eu acredito que isso funcionará. Você precisa executar formail para reformatar o e-mail e enviá-lo de volta por procmail .

Do diretório do Maildir:

cat * | formail -s procmail

    
por 29.06.2012 / 23:43
0

Parece que não há uma boa solução para isso: o procmail só parece aceitar a entrada de mensagens de stdin , o que limita os aplicativos maildir.

Eu enfrentei uma situação semelhante, e a melhor solução que atendeu às minhas necessidades foi simplesmente duplicar o que eu queria que procmail fizesse, mas o que definitivamente não pode fazer, com meu próprio roteiro, que deveria ser suficiente se você apenas tem uma ou duas regras simples que você precisa cuidar:

cd ~/Maildir/
sh -c 'for i in 'egrep -l "^Delivered-To: [email protected]" cur/*'; \
    do mv $i .FreeBSD.perforce/$i; done'

Isso também não é o ideal, mas pelo menos não deve sofrer problemas desnecessários de Op Info e perda de dados.

    
por 26.02.2013 / 23:19