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:yes
com /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, /@/ catchall
o 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_map
para alguns usuários e com receiver_bcc_maps para catchall, luser_relay
mas funciona apenas para $mydomain
isso 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