Como você usa o procmail mda para entregar arquivos para serem lidos por mh?

1

Estou usando o fetchmail para baixar e-mails e usando o procmail para entrega como o mda. Eu gostaria que eles fossem entregues para uso com o mh, mas o procmail parece entregá-los de uma maneira que o mh não entende: eu recebo subdiretórios new / cur / e tmp / com arquivos em new / named algo como 1484079635.67044_0. HOSTNAME

Se eu renomear esses arquivos para apenas números inteiros e movê-los para um diretório, o mh vai buscá-los bem. Eu gostaria de poder fazer isso automaticamente, assim como manter a sequência da última execução do fetchmail.

configuração do fetchmail:

set logfile /path/to/fetchmail.log
set no bouncemail

poll "imap.gmail.com"
protocol imap
username "USER"
password "PASSWORD"
fetchall
keep
ssl
mda "/path/to/procmail -m /path/to/.procmailrc"

configuração do procmail:

LOGFILE=$HOME/procmail.log
VERBOSE=on
DELIVERED=yes
MAILDIR=$HOME/Mail/.
DEFAULT=inbox/
    
por Angelo 10.01.2017 / 21:51

2 respostas

3

Seu DEFAULT=inbox/ diz que o email deve ser entregue em uma caixa de correio do Maildir (com os subdiretórios cur , new e tmp ). Esta caixa de correio está localizada em $HOME/Mail/. de acordo com a variável MAILDIR .

Para entregar em uma caixa de correio do MH, defina DEFAULT para inbox/. (observe o ponto no final). MAILDIR pode ser definido como $HOME/Mail .

Resumindo:

  • O caminho final da caixa de correio tem / no final: caixa de correio do Maildir
  • ... tem /. no final: caixa de correio do MH
  • ... não tem nenhuma das opções acima: Caixa de correio mbox do Unix comum.

Veja o manual procmailrc(5) .

    
por 10.01.2017 / 21:59
1

A resposta aceita está correta, mas gostaria de acrescentar alguns comentários e amplificações.

Sua pergunta parece sugerir que você acredita que MH e Maildir são o mesmo formato. Eles não são; MH tradicionalmente usa um único diretório por pasta, enquanto o Maildir, como você descobriu, usa três subdiretórios; originalmente entrega em new , depois passa para tmp e finalmente para cur .

O Procmail suporta nativamente a entrega em ambos. Para MH, no entanto, simplesmente entregar diretamente no diretório de destino ignora alguns recursos úteis do MH. Você pode, em vez disso, canalizar para o programa rcvstore , que oferece melhor integração geral com o sistema MH (ele atualizará os arquivos de controle e cache associados).

Você não pode definir diretamente DEFAULT para realizar isso; você precisa ter um simples .procmailrc com algo como

:0:foldername.lock
| rcvstore +foldername   # from memory it wants a plus, is that right?

Essa é uma ação de entrega incondicional com bloqueio em um arquivo de bloqueio nomeado.

Essa abordagem generaliza para muitos outros formatos de pasta. Embora o Procmail não ofereça suporte nativo ao MBX, ao dbox do Dovecot e a vários outros formatos, você pode enviá-los para aqueles que tiverem um programa de entrega para esse formato no qual você possa enviar mensagens.

Esta resposta basicamente reitera informações do link

    
por 11.01.2017 / 08:15