![Gnu Mailutils 配置直接对 maildir 进行操作?](https://linux22.com/image/837458/Gnu%20Mailutils%20%E9%85%8D%E7%BD%AE%E7%9B%B4%E6%8E%A5%E5%AF%B9%20maildir%20%E8%BF%9B%E8%A1%8C%E6%93%8D%E4%BD%9C%EF%BC%9F.png)
我想配置 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。
玩得开心!