Sun Java System Messaging Server 6 2005Q4 관리 설명서

Sieve 확장 지원

표준 Sieve 함수 외에도 Messaging Server는 addheader, addtag, spamtestspamadjust를 비롯한 여러 확장에 대한 지원을 제공합니다. addheaderaddtag 스팸 메일에 SpamAssassin 점수를 포함하는 헤더 추가 SpamAssassin 결과 문자열을 제목 행에 추가 에 설명되어 있습니다.

관리자는 이러한 확장을 사용하여 서로 다른 임계값을 설정하고 SpamAssassin 답신을 대체하는 목록을 설정할 수 있습니다. 특정 메일을 받는 사용자에 따라 두 가지를 결합하여 서로 다른 임계값을 지정할 수 있습니다. spamadjust는 비표준 작업입니다. spamtestftp://ftp.isi.edu/in-notes/rfc3685.txt에 설명되어 있습니다.

spamtest를 사용하면 Sieve [RELATIONAL] 확장을 "i;ascii-numeric" 구분 문자와 함께 사용하여 SpamAssassin 점수를 특정 값과 비교할 수 있습니다. SpamAssassin 점수는 일반적으로 실수이지만 spamtest는 점수를 근사 정수로 반올림하여 0과 10 사이의 정수 값으로 강제합니다. 0 미만인 값은 0으로 반올림되고 10을 초과하는 값은 10으로 내림합니다. Messaging Server에서 유지 관리되는 텍스트 문자열을 첨부하여 spamtest 테스트에 표시되는 테스트 문자열을 생성합니다.

spamadjust는 현재 스팸 점수를 조정하는 데 사용됩니다. 이 작업은 실수 값에 대해 스캔되는 단일 문자열 인수를 가져옵니다. 이 값은 현재 스팸 점수를 조정하는 데 사용됩니다. 전체 문자열이 현재 점수 텍스트 문자열에 첨부됩니다. 아래의 예에서 문자열은 “ undisclosed recipients”입니다.

여러 spamadjust 작업이 허용되고 각 작업이 현재 점수에 추가됩니다. 점수 값은 항상 0에서 시작합니다. 서명된 숫자값을 허용하여 현재 점수를 내리거나 높일 수 있습니다. spamadjust에 대한 require 절이 없으므로 spamtest 확장이 대신 나열되어야 합니다.

예를 들어, SpamAssassin MODE 설정 2와 함께 사용할 수 있는 spamadjust는 다음과 같습니다.

spamfilterX_string_action=data:,require ["spamtest"];spamadjust "$U";

시스템 수준 Sieve 필터는 특정 헤더 유형(있는 경우)을 검사한 다음 SpamAssassin 점수에 5를 더하여 SpamAssassin 점수를 수정할 수 있습니다.


spamfilter1_string_action=require "spamtest";  \
if header :contains ["to", "cc", "bcc", "resent-to", "resent-cc", \
   "resent-bcc"]  ["<undisclosed recipients>", "undisclosed.recipients"]  \
{spamadjust "+5 undisclosed recipients";}

마지막으로 사용자 수준 Sieve 스크립트는 결과 값을 테스트하고 스팸으로 확인된 메일을 삭제하고, 스팸일 확률이 있는 메일을 파일로 저장하고, 메일을 로컬 도메인의 주소에서 통과하도록 허용할 수 있습니다.


spamfilter1_string_action=require ["spamtest", "relational",  \
"comparator-i;ascii-numeric", "fileinto"];                   \
if anyof (address :matches "from" ["*@siroe.com",            \
                                   "*@*.siroe.com"])         \
    {keep;}                                                  \
elsif spamtest :value "ge" :comparator "i;ascii-numeric" "8" \
    {discard;}                                               \
elsif spamtest :value "ge" :comparator "i;ascii-numeric" "5" \
    {fileinfo "spam-likely";}                                \
else                                                         \
   {keep;}