使用 maildrop 脚本将邮件标记为已读

使用 maildrop 脚本将邮件标记为已读

我使用 maildrop 脚本直接在邮件服务器上将我的邮件分类到文件夹中,并且我希望它将某些不必要的邮件标记为已读。

不幸的是 maildrop 好像没有这样的命令。

现在我使用这一行将 qmail Maildir 文件夹的最新邮件重命名为2,s已读状态:

 `ls -t "$MAILDIR/.0 Spamfilter.catchall/new" | head -1 | xargs -I {} mv "$MAILDIR/.0 Spamfilter.catchall/new/{}" "$MAILDIR/.0 Spamfilter.catchall/cur/{}:2,S"`

但是,这有时会失败,邮件仍未读。我猜想在执行 mv 之前,当另一封邮件到达时,存在竞争条件。

答案1

to执行此操作之前:

  FLAGS="S"

但是,棘手的部分是在没有 root 权限的情况下在共享主机上安装 >=2.8.4。我这样做了:从 courier-mta.org 下载“courier-unicode-2.0.tar.bz2”和“maildrop-2.9.2.tar.bz2”:

cd courier-unicode-2.0/
./configure  --prefix=/home/user/
make
make install

cd ../maildrop-2.9.2
export CPPFLAGS=-I/home/user/include
export LDFLAGS=-L/home/user/lib/
./configure  --prefix=/home/user
make
make install

然后将 .qmail 文件更改为|/home/user/bin/maildrop

相关内容