6 votes

Configuration de Gnu Mailutils pour opérer directement sur maildir ?

J'aimerais configurer le programme mail GNU Mailutils pour qu'il fonctionne sur un répertoire maildir déjà existant. Actuellement, mon mailutils.rc ressemble à ceci :

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

Cela me permet de lire le courrier de ce dossier, mais néanmoins, le programme de messagerie déplace toujours tous les courriers ouverts dans le dossier /home/${user}/mbox . Existe-t-il un moyen d'indiquer à mail de conserver les fichiers à leur position initiale ?

4voto

Johannes Kohnen Points 623

J'ai pu reproduire votre problème avec GNU Mailutil's mail . Je n'ai pas trouvé de réponse directe à votre question, mais j'ai trouvé une solution à votre problème.

Je suppose que vous avez configuré votre MTA local (Exim) de façon à ce que les nouveaux courriers soient distribués à $HOME/Maildir/ c'est-à-dire que votre configuration Exim est définie comme suit dc_localdelivery='maildir_home' .

Instalar heirloom-mailx qui fournit un remplacement de mailx et offre plus de fonctionnalités que la version de GNU Mailutil de mailx. Assurez-vous qu'il s'agit de la disposition réelle de mailx dans la configuration des alternatives. En général, c'est le cas, car heirloom a la plus haute priorité. Vous pouvez le vérifier comme ceci :

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:

Configurer mailx avec la variable d'environnement $MAIL . Puisque cette configuration implique que le courrier est délivré pour tous les utilisateurs dans leur Maildir local respectif, je suppose que c'est la manière la plus élégante de le faire :

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

Pas besoin de chmod 755 ce fichier, puisqu'il sera sourcé par le login Shell. Cependant, vous devez vous déconnecter et vous reconnecter afin de laisser les changements de variables d'environnement prendre effet.

Preuve de concept :

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/

Le problème est résolu. Reste la question : Faut-il s'en tenir au mailx de GNU Mailutil ? J'en doute. Il est peut-être possible de le faire avec GNU, mais comme heirloom offre un sur-ensemble de fonctions et que vous pouvez toujours utiliser d'autres outils de Mailtutils, je ne prendrais pas la peine de faire des recherches supplémentaires. heirloom est un beau logiciel. YMMV et HTH.

Amusez-vous bien !

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X