Como de acordo com a documentação do postfix, os catchalls são por definição recursivos
VIRTUAL(5) VIRTUAL(5) NAME virtual - Postfix virtual alias table format
SYNOPSIS postmap /etc/postfix/virtual
postmap -q "string" /etc/postfix/virtual
postmap -q - /etc/postfix/virtual
DESCRIPTION The optional virtual(5) alias table rewrites recipient addresses for all local, all virtual, and all remote mail destinations. This is unlike the aliases(5) table which is used only for local(8) delivery. Virtual aliasing is recursive
Portanto, a solução é criar mapeamentos de 1 a 1 (para interromper a recursão) para seus usuários reais. No seu arquivo de usuários virtuais, você colocaria coisas assim:
[email protected] [email protected]
e [email protected] [email protected]