Postfix catch all substitui todos os outros padrões em virtual_alias_maps

Postfix catch all substitui todos os outros padrões em virtual_alias_maps

Acho que verifiquei todos os tópicos com 'catch all' e 'overrides catch all' com Postfix, mas ainda consigo obter qualquer solução para o meu problema. Eu tenho um servidor smtp de entrada (apenas) Postfix version 3.5.8. Eu gostaria de torná-lo um revezamento aberto e consigo fazer isso virtual_alias_domains=static:yescom /etc/postfix/main.cf. Então, gostaria de despachar essas mensagens para alguns usuários, dependendo do domínio do destinatário, então criei alguns padrões com pcre em virtual_alias_maps = pcre:/etc/postfix/virtual:

/1@test/ test
/2@test/ test2
/@test/ catchallfromtest
/@/ catchall

com/etc/postfix/aliases

test: "/var/mail/test.mail"
test2: "/var/mail/test2.mail"
catchallfromtest: "/var/mail/catchallfromtest.mail"
catchall: "/var/mail/catchall.mail"

Se eu comentasse,   /@/ catchallo e-mail seria despachado corretamente, mas sem isso todo e-mail vai para o catchall. Eu tentei muitas idéias (ordem diferente, dividi-lo em arquivos separados, com diferentes tipos de banco de dados, com virtual_alias_mappara alguns usuários e com receiver_bcc_maps para catchall, luser_relaymas funciona apenas para $mydomainisso não funcionará no meu caso, com exclusão no padrão e na linha ( !//)) e com forma diferente de catchall ( //, /.*@.*/, /^.*@.*&/, /.+@.+/etc). Quando tento testá-lo com

postmap -q "1@test" pcre:/etc/postfix/virtual

ele retorna o alias correto, mas quando tento enviar um e-mail ele vai para o catchall. O que mais posso tentar? De [documentação][1]

Patterns are applied in the order as specified in the  table,  until  a pattern is found that matches the input string.

Portanto, deveria parar logo após a primeira correspondência de padrão, mas isso não acontece. [1]:http://www.postfix.org/pcre_table.5.html

informação relacionada