.png)
Estou executando o postfix (2.9.6) com o dovecot (2.2.5) e dois domínios:
- exemplo.com como virtual_mailbox_domain
- example.org como virtual_alias_domain
Gostaria de configurar duas regras abrangentes diferentes para usuários desconhecidos, mas isso não funciona conforme o esperado.
Usar a configuração abaixo da regra catch-all para example.com se aplica aos endereços example.com e example.org (ou seja, todos os e-mails desconhecidos são entregues na caixa de correio catch_com de johndoe, independentemente dos endereços example.org ou example.com). A remoção da regra @example.com faz com que a regra @example.org funcione corretamente (e-mail entregue na caixa de correio catch_org de johndoe).
principal.cf:
recipient_delimiter = +
virtual_mailbox_domains = example.com
virtual_mailbox_maps = hash:/opt/local/etc/postfix/virtual_mailbox
virtual_alias_domains = example.org
virtual_alias_maps = hash:/opt/local/etc/postfix/virtual_alias
mestre.cf
dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/opt/local/libexec/dovecot/dovecot-lda -f ${sender} -d ${user}@${nexthop} -m ${extension}
caixa_mail_virtual:
[email protected] example.com/johndoe
alias_virtual:
@example.org [email protected]
@example.com [email protected]
Adicionar a regra catchall ao virtual_mailbox não funciona porque, como li em algum lugar, o uso do dovecot-lda faz com que as regras catchall no virtual_mailbox sejam ignoradas.
Responder1
Este é o comportamento esperado do postfix. O Virtual Alias será verificado primeiro, antes de qualquer outro alias. Portanto, o resumo de example.com /opt/local/etc/postfix/virtual_alias
encaminhará seu e-mail antes de /opt/local/etc/postfix/virtual_mailbox
.
No seu caso, johndoe+catch_org
será mapeado recursivamente virtual_alias
novamente para que corresponda a johndoe+catch_com
.
Se você configurar o catchall para outra caixa de correio no mesmo domínio, poderá configurar o catchall no virtual_mailbox_maps
. Adicione esta linha na parte inferior de/opt/local/etc/postfix/virtual_mailbox
@example.com example.com/johndoe
A desvantagem é que você não pode diferenciar o e-mail entre exemplo.com catchall ou exemplo.org catchall.Para o caso do pombal, não posso confirmar se esse esquema funcionará ou não.
Outra solução feia é colocar a conta não-catchall de example.com em /opt/local/etc/postfix/virtual_alias
. Por exemplo:
# account with mailbox
[email protected] [email protected]
[email protected] [email protected]
[email protected] [email protected]
# for example.org domain catch all
[email protected] [email protected]
@example.org [email protected]
@example.com [email protected]