我使用 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