將郵件標記為從 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

相關內容