Sun Java System Messaging Server 6.3 관리 설명서

20.9.2.2 자동 메시지 제거 정책을 구현하는 규칙 설정 방법

이전 절에서 정의한 자동 메시지 제거 정책을 구현하려면 imexpire 규칙을 설정해야 합니다. store.expirerule 파일에 규칙을 포함하면 규칙이 설정됩니다. 다음은 두 개의 전역 store.expirerule 규칙을 보여 주는 예입니다.


Rule1.regexp: 1
Rule1.folderpattern: user/.*/trash
Rule1.messagedays: 2
Rule2:regexp: 1
Rule2.folderpattern: user/.*
Rule2.messagedays: 14

            

이 예에서 Rule 1은 휴지통 폴더의 모든 메시지가 2일 후에 제거되도록 지정합니다. Rule 2는 메시지 저장소의 모든 메시지가 14일 후에 제거되도록 지정합니다.

이 절은 다음과 같은 하위 절로 구성되어 있습니다.

만료 규칙 지침

이 절에서는 store.expirerule 파일 규칙에 대한 지침을 설정합니다.


주 –

이전의 Messaging Server 릴리스에서는 configutil 매개 변수 store.expirerule.attribute를 사용하여 만료 규칙을 설정할 수 있었습니다(Sun Java System Messaging Server 6.3 Administration Referenceconfigutil Parameters 참조).이는 여전히 유효하지만 헤더 제약 조건을 사용하는 만료 규칙(예: 특정 제목 줄을 가진 메시지를 만료하는 것)은 지원되지 않습니다. 어떤 경우에서든 store.expirerule을 사용하여 모든 만료 규칙을 지정하는 것이 가장 좋습니다.


표 20–8 imexpire 속성

속성 

설명(속성 값) 

action

만료 규칙에 걸린 메시지에서 수행할 작업을 지정합니다. 가능한 값은 다음과 같습니다. 

discard는 메시지를 삭제합니다. 기본값입니다.

report 작업은 메일함 이름과 uid-validity 및 uid를 stdout에 출력합니다.

archive는 Sun Compliance 및 Content Management System에 메시지를 아카이브로 보관한 다음 메시지를 삭제합니다.

fileinto: folder 작업은 메시지를 특정 폴더에 넣습니다. 공유 폴더 접두사를 사용하면 메시지를 다른 사용자가 소유한 폴더에 넣을 수 있습니다.

exclusive

해당 규칙이 배타적인지 여부를 지정합니다. exclusive로 지정된 경우 해당 규칙만 지정된 메일함에 적용되며 다른 모든 규칙은 무시됩니다. 둘 이상의 배타적인 규칙이 존재할 경우 마지막으로 로드된 규칙이 사용됩니다. 예를 들어, 전역 및 로컬 배타적인 규칙을 지정할 경우 로컬 규칙이 사용됩니다. 둘 이상의 배타적인 전역 규칙이 있을 경우 configutil에서 나열한 마지막 전역 규칙이 사용됩니다. (1/0)

folderpattern

해당 규칙의 영향을 받는 폴더를 지정합니다. 형식은 store_root /partition/*/ 디렉토리를 나타내는 user/로 시작해야 합니다. 표 20–9를 참조하십시오. (POSIX 정규 표현식).

messagecount

폴더의 최대 메시지 수입니다. 추가 메시지가 전달되면 가장 오래된 메시지가 정리됩니다. (정수) 

foldersize

추가 메시지가 전달되었을 때 가장 오래된 메시지가 정리되기 전까지의 최대 폴더 크기입니다. (바이트 단위 정수) 

messagedays

메시지가 정리되기 전까지의 메시지 기간(일)입니다. (정수) 

messagesize

메시지가 정리되는 것으로 표시되기 전까지의 메시지의 최대 크기(바이트)입니다. (정수) 

messagesizedays

유예 기간입니다. 크기를 초과한 메시지가 폴더에 남아 있어야 하는 일 수입니다. (정수) 

messageheader.header

제거할 메시지를 표시하는 헤더 필드와 문자열을 지정합니다. 값은 대소문자를 구분하지 않으며 정규 표현식은 인식되지 않습니다. 예: Rule1.messageheader.Subject: Get Rich Now!

ExpiresExpiry-Date 헤더의 경우 imexpire는 이러한 헤더 필드로 지정한 날짜 값이 messagedays 속성보다 오래 되었으면 메시지를 제거합니다. 여러 개의 만료 헤더 필드를 지정한 경우에는 가장 이른 만료 날짜가 사용됩니다. (문자열)

regexp

규칙 작성에 UNIX 정규 표현식을 사용 가능하게 합니다. (1 또는 0) 지정하지 않으면 IMAP 표현식이 사용됩니다. 

savedays

메시지가 정리될 때까지 폴더에 저장되는 시간(일 수)입니다. 

seen

seen은 사용자가 메시지를 열었을 때 시스템에 의해 설정되는 메시지 상태 플래그입니다. seen 속성이 and로 설정된 경우 메시지를 보는 것 외에도 다른 기준을 충족해야 규칙이 적용됩니다. seen 속성이 or로 설정된 경우 메시지를 보았거나 또는 다른 기준을 충족하면 규칙이 적용됩니다. (and/or)

sieve

메시지 선택 기준을 지정하는 시브(Sieve) 규칙입니다. 예: Rule17.sieve: header :contains “Subject” “Vigara”

deleted

deleted는 사용자가 메시지를 삭제했을 때 시스템에 의해 설정되는 메시지 상태 플래그입니다. deleted 속성이 and로 설정된 경우 메시지를 삭제한 것 외에도 다른 기준을 충족해야 규칙이 적용됩니다. deleted 속성이 or로 설정된 경우 메시지를 삭제했거나 또는 다른 기준을 충족하면 규칙이 적용됩니다. (and/or)

현지화된 메일함 이름

IMAP 프로토콜은 메일함 이름에 수정된 UTF-7 인코딩을 사용하도록 지정합니다. Messaging Server는 메일함 이름을 현지화할 수 있도록 외부 인터페이스에서 현지화된 문자 세트를 지원합니다. 하지만 내부에서 시스템은 현지화된 이름을 UTF-7로 변환합니다. 따라서 클라이언트에 현지화된 메일함 이름이 있는 폴더는 그에 해당되는 UTF-7로 된 메일함 파일 이름을 가집니다(IMAP 오류 메시지에서는 메일함 이름을 현지화된 문자 세트가 아닌 UTF-7로 출력)

일반적으로 메일함 이름이 필요한 대부분의 메시지 저장소 유틸리티는 현지화된 문제 세트로 된 이름을 사용하지만 다른 문자 세트를 사용할 수 있는 옵션 플래그가 있을 수도 있습니다. 이러한 유틸리티에는 reconstruct, mboxutil, imsbackup, imsrestorehashdir가 있습니다. 하지만 imexpirefolderpattern 속성으로 지정되는 메일함 이름이 UTF-7로 되어 있어야 합니다. 현지화된 이름은 사용할 수 없습니다.

imexpire에 적절한 folderpattern을 얻으려면 현지화된 메일함 이름을 수정된 UTF-7 이름으로 변환해야 할 수도 있습니다. mboxutil -E 명령을 사용하여 다음과 같이 수행하면 됩니다.

현지화된 파일 이름과 수정된 UTF-7 파일 이름을 보여 주는 mboxutil

첫 번째 mboxutil은 현지화된 파일 이름을 나타냅니다. 두 번째 mboxutil은 수정된 UTF-7의 파일 이름을 나타냅니다. IMAP list 명령을 사용할 수도 있습니다.

IMAP list 명령

텍스트 형식으로 imexpire 규칙 설정

자동 메시지 제거 규칙은 store.expirerule 파일에서 규칙을 지정하여 설정합니다. store.expirerule 파일에는 한 행에 하나씩 만료 기준이 있습니다. 전역 규칙 구성 파일(msg-svr-base/data/store/store.expirerule)의 만료 기준 형식은 다음과 같습니다.

rule_name.attribute: value

사용자 또는 메일함 규칙 구성 파일의 만료 규칙 형식은 다음과 같습니다.

attribute: value

예 20–4에서는 msg-svr-base/config/store.expirerule의 전역 만료 규칙 집합을 보여 줍니다.

Rule 1은 다음과 같이 전역 만료 정책(즉, 모든 메시지에 적용되는 정책)을 설정합니다.

Rule 2는 호스트된 도메인 siroe.com에서 사용자에 대한 자동 메시지 제거 정책을 설정합니다. 이 규칙은 메일함 크기를 1MB로 제한하고 삭제된 메시지를 제거하며 14일이 지난 메시지를 제거합니다.

Rule 3은 f.dostoevski 사용자의 inbox 폴더에 있는 메시지에 대한 자동 메시지 제거 정책을 설정합니다. 이 규칙은 제목 줄에 "On-line Casino" 라는 표현이 있는 메시지를 제거합니다.


예 20–4 imexpire 규칙 예


Rule1.regexp: 1
Rule1.folderpattern: user/.*
Rule1.messagesize: 100000
Rule1.messagesizedays: 3
Rule1.deleted: or
Rule1.Subject: Vigara Now!
Rule1.Subject: XXX Porn!
Rule1.messagecount: 1000
Rule1.messagedays: 365
Rule2.regexp: 1
Rule2.folderpattern: user/.*@siroe.com/.*Rule2.exclusive: 1
Rule2.deleted: or
Rule2.messagedays: 14
Rule2.messagecount: 1000
Rule3.folderpattern: user/f.dostoevski/inboxRule3.Subject: *On-line Casino*
                  

imexpire 폴더 패턴 설정

POSIX 정규 표현식을 사용하여 imexpire 속성 regex를 1로 설정함으로써 폴더 패턴을 지정할 수있습니다. 지정하지 않으면 IMAP 표현식이 사용됩니다. user/로 시작되고 뒤에 패턴이 나오는 형식이어야 합니다. 표 20–9에서는 다양한 폴더의 폴더 패턴을 보여 줍니다)

표 20–9 정규 표현식을 사용한 imexpire 폴더 패턴

폴더 패턴 

범위 

user/userid/.*

userid의 모든 폴더에 있는 모든 메시지에 적용됩니다.

user/userid/Sent

Sent 폴더에 있는 userid의 메시지에 규칙을 적용합니다.

user/.*

메시지 저장소 전체에 규칙을 적용합니다. 

user/.*/trash

모든 사용자의 trash 폴더에 규칙을 적용합니다.

user/.*@siroe.com/.*

호스트된 도메인 siroe.com의 폴더에 규칙을 적용합니다. 

user/[^@]*/.*

기본 도메인에 있는 폴더에 규칙을 적용합니다.