Sun Java System Messaging Server 6.3 관리 설명서

14.7 시브(Sieve) 확장 지원

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

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

addtag에서 여러 제목 줄 태그 추가를 구분하는 데 사용되는 내부 구분자 문자가 공백에서 세로 막대로 바뀌었습니다. 따라서 일부 스팸 필터에서 필요한 대로 공백이 포함된 태그를 추가할 수 있습니다. 예를 들어, 이전에는 addtag "[Probable Spam]"addtag "[Probable"add tag "spam]"을 의미했습니다. 이제는 "[Probable Spam]"이라는 단일 태그로 간주됩니다. 이 변경으로 세로 막대는 태그에 사용할 수 없습니다.

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

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

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

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

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

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


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

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


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" 
    {fileinfto "spam-likely";}                                
else                                                         
   {keep;}