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"

그러나 까다로운 부분은 루트 권한 없이 공유 호스팅에 >=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

관련 정보