2012-11-05 5 views
3

시 체 필터를 관리하기 위해 smartsieve 웹 GUI를 사용하고 있습니다. 정규식 일치에 문제가 있습니다.시브 (sieve) 메일 정규 표현식이 작동하지 않습니다.

testXX (여기서 X는 0과 9 사이의 숫자 임) 형식의 제목과 함께 테스트 이메일을 보냅니다.

I 필터를 정의

: 메시지 '제목이'경우

elsif allof (header :regex "subject" "[0-9]+") { 
    fileinto "INBOX/Tests"; 
} 

메시지가 올바르게

처리되지만 언제든지 때 정규식과 일치하는 [0-9] + 생성 규칙은 정규 표현식에 텍스트를 추가합니다 ... 일치하지 않습니다. 메시지 'Subject :'가 정규 표현식 테스트 [0-9]와 일치하면 + 생성 규칙은

elsif allof (header :regex "subject" "test[0-9]+") { 
    fileinto "INBOX/Tests"; 
} 
0123입니다.

시브 스크립트를 테스트하기 위해 online tool을 사용하여 코드를 테스트했을 때, 더 복잡한 표현을 사용하더라도 모든 것이 잘 동작했습니다. 더 복잡한 표현이 필요하지만 문제가있는 곳을 찾아야하기 때문에 제거했습니다.

+0

더 복잡한 문제이지만 어떻게 든이 작은 문제를 해결할 수 있습니다. 그러나 앞으로 더 많은 문제가있을 것입니다 - 체 및 utf-8로 인코딩 된 메시지 필터링 ... – Deus777

+0

어떻게이 문제를 해결 했습니까? – Pharaoh

답변

0

"testXX"및 "XX"메일이 "INBOX/Test"로 이동해야하는 경우이 작업을 수행 할 수 있습니다. 예를 들어

:

elsif allof (header :regex "subject" "(test)?\d+") 
{ 
    fileinto "INBOX/Tests"; 
} 

대한 예는 this 참조.

관련 문제