Eu percebi isso. Acontece que as alegações na pergunta StackOverflow vinculada eram falsas. É realmente possível usar virtual_transport
e transport_maps
juntos. Meu problema era que a consulta SQL usada para determinar virtual_mailbox_maps
naturalmente só retornaria 1
quando a caixa de correio fosse definida no banco de dados. Assim que essa verificação falhou, a mensagem foi rejeitada.
-- from: mysql-virtual-mailbox-maps.cf
query = SELECT 1 FROM virtual_users WHERE name = 'name = '%s'
Adicionar o mapeamento mailman3 à configuração virtual_mailbox_maps
resolveu o problema para mim. Esta é minha configuração de trabalho:
virtual_transport = lmtp:unix:private/dovecot-lmtp
virtual_mailbox_domains = mysql:/etc/postfix/mysql-virtual-mailbox-domains.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf hash:/path/to/var/data/postfix_lmtp
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual-alias-maps.cf
local_recipient_maps = hash:/path/to/var/data/postfix_lmtp mysql:/etc/postfix/mysql-virtual-mailbox-maps.cf
transport_maps = hash:/path/to/var/data/postfix_lmtp
Configura virtual_transport
para padrão para dovecot, mas permite que seja sobrescrito por transport_maps
, que mapeia os endereços da lista para o transporte local mailman.