Postfix catch all переопределяет все остальные шаблоны в virtual_alias_maps

Postfix catch all переопределяет все остальные шаблоны в virtual_alias_maps

Думаю, я проверил каждую ветку с 'catch all' и 'overrides catch all' с Postfix, но все еще могу получить какое-либо решение для своей проблемы. У меня есть входящий (только) smtp-сервер Postfix version 3.5.8. Я хотел бы сделать его открытым ретранслятором, и я могу добиться этого с помощью virtual_alias_domains=static:yes. /etc/postfix/main.cfЗатем я хотел бы отправить эти сообщения нескольким пользователям в зависимости от домена получателя, поэтому я создал несколько шаблонов с помощью pcre в virtual_alias_maps = pcre:/etc/postfix/virtual:

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

с/etc/postfix/aliases

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

Если бы я закомментировал   /@/ catchallписьмо, оно бы отправлялось правильно, но без этого каждое письмо отправляется в catchall. Я перепробовал много идей (разный порядок, разбить его на отдельные файлы, с разными типами БД, с virtual_alias_mapдля некоторых пользователей и с receive_bcc_maps для catchall, с luser_relayно это работает только для $mydomain, поэтому это не будет работать в моем случае, с исключением в шаблоне и в строке ( !//)) и с другой формой catchall ( //, /.*@.*/, /^.*@.*&/, /.+@.+/и т. д.). Когда я пытаюсь проверить это с

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

он возвращает правильный псевдоним, но когда я пытаюсь отправить письмо, оно переходит в catchall. Что я могу еще попробовать? Из [документации][1]

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

Поэтому он должен остановиться сразу после первого совпадения с шаблоном, но этого не происходит. [1]:http://www.postfix.org/pcre_table.5.html

Связанный контент