Suponha que você tenha um e-mail para [email protected]
a ser entregue.
Os mapas especificados em virtual_alias_domains
são pesquisados usando a parte do domínio ( example.net
) como uma chave, esperados para retornar qualquer coisa, se for um domínio de alias virtual; caso contrário, nada, ou seja, essa chave deve ser indefinida. Os mapas em virtual_alias_maps
são pesquisados usando o endereço completo ( [email protected]
) como chave, devendo retornar um endereço reconfigurado.
Isso significa que você pode compartilhar um único arquivo de mapa para ambas as pesquisas, assim como o simples mapa de hash /etc/postfix/virtual
explicado em virtual (5) . A configuração padrão do Postfix ( virtual_alias_domains = $virtual_alias_maps
) está assumindo um mapa desse estilo misto.
example.net OK
[email protected] [email protected]
[email protected] [email protected]
As regras importantes dessas pesquisas são:
-
virtual_alias_maps
são pesquisados recursivamente. Se ele retornar o mesmo endereço da chave, esse endereço será usado. - Se o endereço reescrito final retornado por
virtual_alias_maps
ainda estiver emvirtual_alias_domains
, a consulta será considerada uma falha (User unknown in virtual alias table
). Isso não parece explicitamente documentado. Aprendi por este tópico .
Portanto, seu primeiro mapa regexp ( /^.+$/ [email protected]
) e configuração é problemático, porque o mapa corresponde a tudo, então [email protected]
ainda está em virtual_alias_domains
e é devolvido.
Você pode evitá-lo especificando nada em virtual_alias_domains
ou usar outro mapa regexp que não corresponda a uma única cadeia de domínio ( /^.+@.+$/ [email protected]
).
Mas qualquer um deles não me parece a configuração correta, mas um tipo de solução não intuitiva. Haveria uma solução mais adequada para o seu propósito, eu acho.