Я использую скрипт 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"
Однако, сложная часть заключается в установке >=2.8.4 на общем хостинге без прав root. Я сделал это так: скачал "courier-unicode-2.0.tar.bz2" и "maildrop-2.9.2.tar.bz2" с courier-mta.org:
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