procmail 不在 maildir/new 中保存电子邮件

procmail does not save emails in maildir/new

Procmail 将所有新电子邮件直接保存在所需的 maildir 文件夹中,而不是 maildir/new。我的 .procmailrc 如下:

SHELL=/bin/bash
LINEBUF=4096
PATH=/bin:/usr/bin:/usr/local/bin:/opt/local/bin
VERBOSE=off
MAILDIR=/mnt/data/maildir
DEFAULT=$MAILDIR/inbox/ # See the slash!
LOGFILE=$HOME/procmaillog
FORMAIL=/opt/local/bin/formail
SENDMAIL=/usr/sbin/sendmail

# Nuke duplicate messages
:0 Wh: msgid.lock
| $FORMAIL -D 8192 msgid.cache
:0 a: 
$MAILDIR/duplicates

# SpamAssassin sample procmailrc
:0fw: spamassassin.lock
* < 256000
| spamassassin-5.24 

# Mails with a score of 15 or higher are almost certainly spam (with 0.05%
# false positives according to rules/STATISTICS.txt). Let's put them in a
# different mbox. (This one is optional.)
:0:
* ^X-Spam-Level: \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
$MAILDIR/junk

# All mail tagged as spam (eg. with a score higher than the set threshold)
:0:
* ^X-Spam-Status: Yes
$MAILDIR/junk

:0:
* ^List-id: .*(somelist_id|someother_list_id|etc)
$MAILDIR/nerdy_groups_and_lists

# Work around procmail bug: any output on stderr will cause the "F" in "From"
# to be dropped.  This will re-add it.
:0
* ^^rom[ ]
{
  LOG="*** Dropped F off From_ header! Fixing up. "
  :0 fhw
  | sed -e '1s/^/F/'
}

问题是,而不是在例如下面找到我的电子邮件。 /mnt/data/maildir/junk/new/mnt/data/maildir/nerdy_groups_and_lists/new 我分别在 /mnt/data/maildir/junk/mnt/data/maildir/nerdy_groups_and_lists 下找到它们,而 mu4e 找不到它们。我做错了什么?

传递到 maildir 文件夹的语法要求在目录名称上有一个重要的尾部斜杠。正如您所发现的,如果没有斜线,Procmail 将以较旧的遗留格式写入,该格式会在目录本身中创建单调编号的文件。 (还有一种 MH 模式,它使用 MH 约定创建文件,它使用带斜线和点的 dir/.。)