PROCMAIL을 사용하여 여러 수신자가있는 경우 전자 메일 복합 폴더

StackOverflow https://stackoverflow.com//questions/9617570

  •  09-12-2019
  •  | 
  •  

문제

집에서 이메일 시스템을 구축하려고하면 많은 메일 링리스트에 가입했습니다.이메일은 Fetchmail에 의해 내 로컬 컴퓨터로 가져와 Procmail이 필터링했습니다.그러나 현재 지식으로 해결할 수없는 상황이 있습니다.결과없이 솔루션을 찾기 위해 2-3 시간 동안 Googling을 겪었습니다.

내가 원하는 것은 여러 수신자가있는 이메일을 받고이 이메일을 다른 폴더로 복사하고 싶습니다.다음은 예제입니다.

Cc: linux-kernel@vger.kernel.org, kernel-janitors@vger.kernel.org
.

이 이메일을 Linux-Kernel 및 Linux-Kernel-Janitors 폴더에 넣고 싶습니다.Procmail에서 어떻게 할 수 있습니까?

미리 감사드립니다!

도움이 되었습니까?

해결책

SWITCHRC=를 사용하여받는 사람 목록에서 PROCMAIL 루프를 만들 수 있지만 이는 오히려 해상니다.또는 처리하려는 폴더 목록이 제한되어있는 경우 각각 별도로 전달할 수 있으며 적어도 한 번 배달 한 경우 메시지를 삭제할 수 있습니다.

LASTFOLDER=
:0c:
* ^TO_linux-kernel@vger\.kernel\.org\>
linux-kernel
:0c:
* ^TO_kernel-janitors@vger\.kernel\.org\>
kernel-janitors
# ... repeat for other addresses you want to multiplex ...
# If it was delivered, LASTFOLDER will be set
:0
* LASTFOLDER ?? .
/dev/null
.

이 섹션에 도달하기 전에 추가 수신함으로 복사 한 경우 ExperiComently EnterAcodiceTag 코드를 빈 문자열로 설정하려고합니다.그렇지 않으면 필요해서는 안됩니다. 그러나 나는 그것을 예방 조치로 남겼습니다.(이 변수에는 메시지가 전달 된 최신 폴더의 이름이 포함되어 있습니다.)

다른 팁

해결책은 다음과 같습니다.

우선, 내 .procmailrc 파일에 단순히 커널 메일 링리스트 필터 조건이 포함되어 있기 때문에 IF 문이 필요합니다.그것이 다른 것보다 일치하면 다른 조건 목록이 있습니다.나는 그것이 더 세분화 될 시간에 대해 생각한다.

:0
 * [To|Cc].*vger.kernel.org
   LASTFOLDER=

    :0Ac:
    * ^[To|Cc].*linux-janitors@vger.kernel.org
    | DoItSomethingWithIt

    :0Ac:
    * ^[To|Cc].*linux-kernel@vger.kernel.org
    | DoItSomethingWithIt2

    :0                             
    * LASTFOLDER ?? .
    | DoItSomethingWithIt3
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top