
내 Ubuntu 서버에서 postfix-pcre를 사용하고 있습니다. 다음 명령을 사용하여 header_checks 구성을 테스트하면
postmap -q 'To: "Markus Schlei" <[email protected]>' regexp:/etc/postfix/header_checks
다음과 같은 경고 메시지가 나타납니다.
postmap: 경고: 정규 표현식 맵 /etc/postfix/header_checks, 36행: 이전 정규 표현식이 잘못되었습니다.
또한 내 테스트를 거부하지도 않습니다. 36행에서 다음 코드를 얻었습니다.
/^To:.*\@(?!(gmail\.com)).*/ REJECT Test-Nr-1
일치하지 않는 모든 메시지를 거부하고 싶습니다.gmail.com
편집 1: "(?!(..)" 경고 메시지는 사라졌지만 내가 원하는 것과는 반대로 작동합니다.
답변1
POSIX 정규 표현식과 PCRE 정규 표현식이 있다는 것을 알아야 합니다.
당신은부정적인 예측( ?!
) 와 함께정규식테이블. 이 유형의 정규식은 PCRE 정규식 테이블에서만 지원됩니다.
Postfix 시스템이 어떤 유형의 조회 테이블을 지원하는지 알아보려면 "postconf -m" 명령을 사용하세요.
pcre가 나열되어 있으면 regexp 테이블 대신 pcre 테이블로 전환하십시오. 그렇지 않은 경우 설치해야 합니다.접미사-pcre.