Gnu Mailutils 配置直接对 maildir 进行操作?

Gnu Mailutils 配置直接对 maildir 进行操作?

我想配置 GNU Mailutils 邮件程序,以便它在已经存在的 maildir 目录上运行。目前我的 mailutils.rc 如下所示:

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

这样我就可以从该文件夹读取邮件,但尽管如此,邮件程序始终将所有打开的邮件移动到/home/${user}/mbox。有没有办法告诉邮件将文件保留在原始位置?

答案1

我能够使用 GNU Mailutil 重现您的问题mail。我没有找到您问题的直接答案,但找到了问题的解决方案。

我认为您已配置本地 MTA(Exim),以便将新邮件递送至$HOME/Maildir/,即您的 Exim 配置设置为dc_localdelivery='maildir_home'

安装heirloom-mailx可替代 mailx 并提供比 GNU Mailutil 版本的 mailx 更多的功能。确保它是mailx替代配置中的实际提供。通常是,因为 heirloom 具有最高优先级。您可以像这样检查:

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:

使用环境变量配置 mailx $MAIL。由于此配置意味着所有用户的邮件都将发送到他们各自的本地 Maildir,因此我认为这是最优雅的方式:

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

无需对该文件执行 chmod 755 操作,因为它将由登录 shell 提供。但是,您需要注销并重新登录,以使环境变量更改生效。

概念证明:

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/

问题解决了。问题仍然存在:您是否需要继续使用 GNU Mailutil 的 mailx?我对此表示怀疑。也许可以使用 GNU 完成此操作,但由于 heirloom 提供了一组超集的功能,并且您仍然可以使用 Mailtutils 中的其他工具,因此我不会再进行进一步的研究。heirloom 是一款不错的软件。YMMV 和 HTH。

玩得开心!

相关内容