sendmail로 받은 Unix 메일을 Linux 디렉토리에 (개별적으로) 복사합니다.

sendmail로 받은 Unix 메일을 Linux 디렉토리에 (개별적으로) 복사합니다.

Fedora Linux에서 새로 도착한 이메일을 모두 복사하여 Linux 디렉토리(다른 메일 폴더가 아닌 Linux 파일 시스템 디렉토리)에 저장하는 방법을 아는 사람이 있습니까?

우리는 전달 시스템으로 Procmail을 사용합니다. 5월 문서를 살펴봤지만 모두 복사와 관련하여 두 가지 패턴만 표시합니다.

  1. mail.bkp에 추가 - 왜 모든 메일을 하나의 파일에 추가하는지 모르시나요?
  2. 스팸 처리를 위해 모든 것을 /dev/null에 넣습니다.

모든 새 메일을 다음과 같은 Linux 파일 시스템에 복사/보관하려면 '가벼운' 메커니즘이 필요합니다.

  • /홈/사용자 이름/데이터/아카이브/mail1.x
  • /home/사용자 이름/데이터/archive/mail2.x
  • /홈/사용자 이름/데이터/아카이브/mail3.x

그리고 Java 디렉토리 리스너를 사용하여 해당 이메일을 병렬로 읽을 계획입니다.

소중한 조언 부탁드립니다.

답변1

문제에 대한 해결책은 procmailrc 파일을 사용하여 메일 사본을 Maildir 형식으로 저장하는 것입니다.

Maildir은 각 메일을 별도의 파일로 보관하여 한 가지 문제를 해결합니다. 또한 메일을 복사하면 다른 기존 위치로 계속 이동됩니다.

procmailrc의 상단 근처에는 다음(또는 유사한 줄)이 있습니다.

:0c:
$HOME/Maildir/

Maildir여전히 홈 디렉터리에 폴더를 만들어야 합니다 .

답변2

해당 디렉토리를 모니터링하기 위한 정교한 시스템을 갖기 위해 해당 디렉토리에만 전달하는 것은 다소 어색합니다. Java 프로그램이 표준 입력을 읽을 수 있으면 해당 프로그램으로 직접 파이프하면 됩니다.

:0
| /path/to/java -crash -boom -bang -coredump=always

관련 정보