접미사를 사용하여 스팸 메일을 특수 폴더로 보내기


9

스팸 필터링을 돕기 위해 amavis 및 SpamAssassin을 실행하는 postfix 서버가 있습니다. 스팸으로 탐지 된 메시지는 사용자의 Maildir로 배달 될 때 다음과 같습니다.

tom @ tom-mint에서 2013 년 3 월 15 일 금요일 01:46:20
리턴 경로 : <tom @ tom-mint>
X-Original-To : tom@my-server.com
제공 : tom@my-server.com
X- 바이러스 검사 : my-server.com의 데비안 amavisd-new
X-Spam-Flag : 예
X- 스팸 점수 : 6.463
X- 스팸 수준 : ******
X- 스팸 상태 : 예, 점수 = 6.463 tagged_above = 2 필요 = 6.31
    테스트 = [DRUGS_ERECTILE = 2.221, FH_FROMEML_NOTLD = 0.18,
    FSL_HELO_NON_FQDN_1 = 0.001, HELO_NO_DOMAIN = 0.001, RCVD_IN_PBL = 3.558,
    RDNS_DYNAMIC = 0.363, TO_NO_BRKTS_DYNIP = 0.139] 자동 학습 = 아니오
날짜 : 2013 년 3 월 15 일 금요일 01:46:19 -0400
받는 사람 : tom@my-server.com
제목 : *** SPAM *** hello
사용자 에이전트 : 가보 mailx 12.5 6/20/10
내용 유형 : 텍스트 / 일반; charset = us-ascii
보낸 사람 : tom @ tom-mint (Tom)
상태 : RO

비아그라를 사세요!

특히 앞에 붙은 제목 ***SPAM***X-Spam-Flag: YES머리글에 유의하십시오 .

postfix이러한 메시지를 특수 정크 폴더에 저장 하도록 구성하는 가장 좋은 방법은 무엇입니까 ?

내 연구 에서이 작업을 수행하기 위해 postfix와 다른 메일 전달 도구를 사용해야하는 것처럼 보이지만 어떤 접근 방식이 가장 좋은지 잘 모르겠습니다. 날짜가 많은 정보가있는 것 같습니다. postfix가 폴더에 메시지를 넣을 수 있는지 궁금합니다.

메일 디렉토리는 모두 Maildir입니다.


maildrop 과 같은 것을 사용해야 할 수도 있습니다 . Postfix의 기본 MDA 로이 작업을 수행하는 방법을 여전히 찾고 있으므로 별다른 문제없이 별명 및 기타 postfix 기능을 유지할 수 있습니다. 내 대답을 올릴 때 내 답변을 게시 할 것입니다.
Tom Marthenal

답변:


8

postfix의 local (8) local delivery agent man 페이지의 커서 설명은 예상대로 이러한 유형의 기능에 대한 힌트를 보여주지 않습니다. 이러한 종류의 작업은 일반적으로 procmail에 오프로드되어 (아마도 mailbox_command 지시문을 통해) 주방 싱크대를 측면에서 관리하면서 설명하는 작업을 처리 할 수 ​​있습니다. procmail의 단점은 구성 파일 형식이며, 유연성과 쉽게 찾을 수있는 수많은 예제가 있습니다. procmail보다 나은 것이 최근에 나왔다면 나는 모른다.

그러나 돈 때문에 MTA가 원하는 것을 수행하는 방법을 찾았더라도 이러한 종류의 메일 분류에는 균형이 있고 MTA가 없기 때문에 그 길을 따르지 않을 것입니다. 아마도 Exchange는 유연한 메시지 처리기 / 배달 에이전트가 될 수 있습니다.

이것은 유일한 헤더 내용 (DEFAULT는 종종 $ HOME / Mail /과 같은 전달 디렉토리 임)을 기반으로 원하는 것을 소리내어 처리하는 프록 메일 레시피입니다.

:0
* ^X-Spam-Flag: YES
$DEFAULT/.Spam/

편집 : (이것은 아래 주석에 언급 된 것처럼 maildir 사서함 형식을 가정합니다. mbox를 사용하는 경우 최종 슬래시를 생략하십시오)


$DEFAULT/필요가 없습니다. 인간의 가독성에 도움이됩니다. 또한 끝에 슬래시를 추가하면 Maildir이 생성되며 Mbox를 사용하는 경우 슬래시를 생략하십시오 ( unix.stackexchange.com/a/132658/241396 참조 ).
Jari Turkia 2012 년

5

Alien Life Form이 말했듯이, 이것은 procmail의 직업입니다. 이것은 메일 서버의 로컬 배달 에이전트를 대체하지 않습니다. MDA가 작업을 수행 한 후에 호출되는 별도의 프로세스입니다 .

procmail이 메일을 정렬하게하려면 각 사용자 .forward는 자신의 홈 디렉토리에 있는 파일을 작성해야합니다 . 해당 파일에는 다음이 포함되어야합니다.

"|exec /usr/local/bin/procmail || exit 75"

"기호와 모두로 완성 하십시오.

ALF는 이미 .procmail스팸으로 태그가 지정된 메일을 별도의 폴더로 정렬 하는 기본 파일을 게시했습니다 .


1
어떤 경우에는 procmail이 / usr / bin / procmail에 위치하여 시스템 실행 위치를 파악합니다.which procmail
Malfist

4

메일 전달 에이전트는 무엇입니까 (main.cf mailbox_command 참조)? MDA가 비둘기 장인 경우 Sieve IETF 표준 (rfc5228)을 지원하므로 보안 취약점을 노출시키지 않고 procmail보다 더 많은 기능을 수행 할 수 있습니다. procmail의 볼트를 postfix / dovecot에 볼트로 고정하지 마십시오. Courier를 사용하는 경우 procmail은 괜찮은 솔루션입니다. 그러나 Pigeonhole의 체 /시 베크 프로그램은 더 빠르고 깨끗합니다.

다음은 스팸 헤더를 인식하고 메시지를 휴지통에 넣는 간단한 체 스크립트입니다.

require "fileinto";

if header :comparator "i;ascii-casemap" :contains "Subject" "**SPAM**"  
{
  fileinto "Trash";
  stop;
}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.