
Estou usando o postfix-pcre no meu servidor Ubuntu. Se eu testar minha configuração header_checks com o seguinte comando
postmap -q 'To: "Markus Schlei" <[email protected]>' regexp:/etc/postfix/header_checks
Recebo a seguinte mensagem de aviso:
postmap: warning: regexp map /etc/postfix/header_checks, linha 36: Expressão regular anterior inválida.
Além disso, não é rejeitar meu teste. Na linha 36 recebi este código:
/^To:.*\@(?!(gmail\.com)).*/ REJECT Test-Nr-1
Quero rejeitar todas as mensagens que não correspondamgmail.com
Editar 1: descobri que, se eu remover o "(?!(..)" a mensagem de aviso desapareceu, mas faz o inverso do que eu quero.
Responder1
Você deve saber que existe uma expressão regular POSIX e uma expressão regular PCRE.
Você está usando umantecipação negativa( ?!
) com umexpressão regularmesa. Este tipo de expressão regular é suportado apenas por tabelas regex PCRE.
Para descobrir quais tipos de tabelas de pesquisa seu sistema Postfix suporta, use o comando “postconf -m”.
Se pcre estiver listado, basta mudar para tabelas pcre em vez de tabelas regexp. Caso contrário, você terá que instalarpostfix-pcre.