Centos의 Postfix에서 정규 표현식 사용

Centos의 Postfix에서 정규 표현식 사용

postfix만 실행하는 Centos 서버가 있습니다. gratisor grátis또는 grétis또는 단어가 포함된 이메일을 필터링하고 싶습니다 grâtis.

두 번째 편지가 문제입니다. 그래서 나는 다음과 같은 거부를 사용했습니다.

/^Subject:.*gr.tis/ REJECT Your message was rejected

문제는 "점"이 접미사가 있는 특수 문자와 일치하지 않는다는 것입니다. 즉, 해당 키워드가 포함된 이메일을 보내면 gratis필터링됩니다. 그러나 내가 그것을 포함하는 이메일을 보낸다면 그렇지 않습니다 grátis.

이 문제를 어떻게 해결할 수 있나요?

답변1

스팸 샘플을 파일에 저장하고 예를 들어 cat -A, sed -n l, 등을 사용하여 hexdump검사합니다 . 제목 헤더에서 실제 바이트를 확인하기 위해 필요한 모든 작업을 수행합니다 hd.od

예를 들어

grep '^Subject:' /tmp/saved.spam | sed -n l

이렇게 하면 header_checks 파일에 넣을 정확한 정규식을 만드는 데 도움이 됩니다.

답변2

다음을 사용해 보세요:

/^Subject:.*gr.{1,2}tis/ REJECT Your message was rejected

대신에. 어쩌면 이것은 코딩의 버그일 수도 있습니다.

관련 정보