Sun Java System Messaging Server 6.3 관리 설명서

ProcedureSpamAssassin 점수를 기준으로 메시지를 필터링하는 방법

이 예에서는 SpamAssassin 점수를 기준으로 메시지를 필터링하는 방법을 보여줍니다. 여기서는 spamadjustspamtest 시브(Sieve) 필터 작업을 사용합니다. 이 예에서는 SpamAssassin 점수를 포함하는 헤더가 모든 메시지에 추가됩니다. SpamAssassin 소프트웨어 관리자는 이 헤더를 사용하여 SpamAssassin을 조정하고 스팸 전자 메일 감지 성능을 향상시킬 수 있습니다. 메시지의 SpamAssassin 점수가 5에서 10까지인 경우에는 메시지가 사용자 계정의 spam 폴더에 필터링됩니다. 메시지의 SpamAssassin 점수가 10보다 큰 경우에는 메시지가 삭제됩니다. 기본적으로 SpamAssassin에서는 점수가 5 이상인 메시지를 스팸으로 간주합니다.

  1. 필터링할 메시지를 지정합니다.

    이 내용은 스팸을 별도의 폴더에 정리단계 3에 설명되어 있습니다.

  2. SpamAssassin 구성 파일을 만듭니다.

    이 파일의 이름과 위치는 spamfilter_configX_file을 사용하여 지정합니다(다음 단계 참조). 이 파일은 다음과 같은 행으로 구성되어 있습니다.


    debug=1
    host=127.0.0.1 
    port=783 
    mode=2 
    field=  

    hostportspamd가 실행 중인 시스템의 이름과 spamd가 받는 요청을 수신하는 포트를 지정합니다. mode=2는 점수에 관계 없이 항상 SpamAssassin 결과 문자열을 반환하도록 지정합니다. field=는 SpamAssasin 결과 문자열의 문자열 접두어를 지정합니다. 이 예에서는 시브(Sieve) 스크립트로 지정하기 때문에 접두어가 필요하지 않습니다. debug=1은 SpamAssassin 라이브러리에서 디버깅을 설정합니다.

  3. option.dat 파일에 다음 행을 추가합니다.


    ! For SpamAssassin
    spamfilter1_config_file=/opt/SUNWmsgsr/config/spamassassin.opt
    spamfilter1_library=/opt/SUNWmsgsr/lib/libspamass.so
    spamfilter1_optional=1
    spamfilter1_string_action=data:, require ["addheader","spamtest"]; \
    spamadjust "$U"; addheader "Spam-test: $U"

    앞의 예와 마찬가지로 처음 세 행은 SpamAssassin 구성 파일과 공유 라이브러리를 지정하고 공유 라이브러리에 오류가 있을 경우 MTA 작업을 계속하도록 지정합니다. 마지막 두 행에서는 spamtest 작업에 사용되는 SpamAssassin($U) 반환 문자열에서 SpamAssassin 점수를 추출하고 모든 메시지에 스팸 점수 헤더를 추가하도록 지정합니다(예: Spam-test: True; 7.3/5.0).

  4. 스팸 점수를 기준으로 전자 메일을 처리하는 채널 수준 필터를 만듭니다.

    채널 수준 필터 만들기를 참조하십시오. 해당 파일에 다음 규칙을 추가합니다.


    require ["spamtest","relational","comparator-i;ascii-numeric","fileinto"];
    if spamtest :value "ge" :comparator "i;ascii-numeric" "10" {discard;}
    elsif spamtest :value "ge" :comparator "i;ascii-numeric" "5" {fileinto "spam";}
    else {keep;}

    두 번째 행에서는 SpamAssassin 점수가 10 이상인 경우 스팸 전자 메일을 삭제합니다. 세 번째 행에서는 점수가 5 이상인 경우 전자 메일을 사용자의 "spam" 폴더에 파일로 보관합니다. 마지막 행 else {keep;}에서는 점수가 5 미만인 모든 메시지를 보관합니다.

  5. 구성을 다시 컴파일하고 서버를 다시 시작한 다음 spamd 데몬을 시작합니다.

    스팸을 별도의 폴더에 정리의 마지막 단계를 참조하십시오.