Configuração do Gnu Mailutils para operar diretamente no maildir?

6

Eu gostaria de configurar o programa de correio GNU Mailutils para que ele funcione em um diretório maildir já existente. Atualmente meu mailutils.rc é assim:

mailbox{
        mailbox-pattern "maildir:///home/${user}/Maildir";
        mailbox-type maildir;
}

Isso me permite ler e-mails dessa pasta, mas, mesmo assim, o programa de e-mail sempre move todos os e-mails abertos para /home/${user}/mbox . Existe uma maneira de dizer ao correio para manter os arquivos em sua posição original?

    
por soulsource 10.06.2013 / 11:23

1 resposta

4

Consegui reproduzir seu problema com mail do GNU Mailutil. Não encontrei uma resposta direta à sua pergunta, mas encontrei uma solução para o seu problema.

Suponho que você tenha configurado seu MTA local (Exim) para que novas mensagens sejam entregues a $HOME/Maildir/ , ou seja, sua configuração do Exim está definida como dc_localdelivery='maildir_home' .

Instale o heirloom-mailx , que fornece uma substituição do mailx e oferece mais funcionalidade do que a versão do mailx do GNU Mailutil. Certifique-se de que é a provisão real de mailx na configuração de alternativas. Geralmente é, porque a herança tem a maior prioridade. Você pode verificar isso assim:

jb@x60 ~ $ sudo update-alternatives --config mailx
There are 2 choices for the alternative mailx (providing /usr/bin/mailx).

  Selection    Path                     Priority   Status
------------------------------------------------------------
* 0            /usr/bin/heirloom-mailx   60        auto mode
  1            /usr/bin/heirloom-mailx   60        manual mode
  2            /usr/bin/mail.mailutils   30        manual mode

Press enter to keep the current choice[*], or type selection number:

Configure o mailx com a variável de ambiente $MAIL . Uma vez que esta configuração implica que o correio é entregue para todos os usuários ao seu respectivo Maildir local, suponho que esta é a maneira mais elegante de fazer isso:

x60 ~ # echo 'export MAIL=$HOME/Maildir/' > /etc/profile.d/local_mailx.sh

Não é necessário chmod 755 este arquivo, pois ele será originado pelo shell de login. No entanto, você precisa fazer logoff e logon para permitir que as alterações na variável de ambiente entrem em vigor.

Prova de conceito:

jb@x60 ~ $ grep dc_localdelivery /etc/exim4/update-exim4.conf.conf
dc_localdelivery='maildir_home'
jb@x60 ~ $ echo $MAIL
/home/jb/Maildir/
jb@x60 ~ $ mail jb
Subject: test 
test
.
EOT
jb@x60 ~ $ mail
Heirloom mailx version 12.5 6/20/10.  Type ? for help.
"/home/jb/Maildir/": 1 message 1 new
>N  1 Jo Bo              Sun Aug 25 14:06   19/489   test
? 1
Message  1:
From jb@x60 Sun Aug 25 14:06:52 2013
Return-path: <jb@x60>
Envelope-to: jb@x60
Delivery-date: Sun, 25 Aug 2013 14:06:52 +0200
Date: Sun, 25 Aug 2013 14:06:52 +0200
To: jb@x60
Subject: test
User-Agent: Heirloom mailx 12.5 6/20/10
Content-Type: text/plain; charset=us-ascii
From: Jo Bo <jb@x60>
Status: R

test

? q
Held 1 message in /home/jb/Maildir/

Problema resolvido. A pergunta permanece: Você precisa continuar com o mailx do GNU Mailutil? Eu duvido que sim. Talvez seja possível fazer isso com o GNU, mas como o heirloom oferece um superconjunto de funções e você ainda pode usar outras ferramentas do Mailtutils, eu não me preocuparia em investir mais pesquisas. herança é um bom pedaço de software. YMMV e HTH.

Divirta-se!

    
por Johannes 25.08.2013 / 14:20