Eu fiz algo muito parecido; parece haver algumas abordagens diferentes.
Primeiramente, você pode usar recipient_bcc_maps
para gerar um endereço adicional para mensagens recebidas para esse domínio. Esta poderia ser, por exemplo, uma tabela para dizer se o email tem um destinatário [email protected]
deve ser bcc'd para archive
, que é então aliado para um arquivo / maildir.
Como alternativa, a maneira como fiz isso localmente é ter entradas como essa em minha tabela "virtual" ( virtual_mailbox_maps
):
[email protected] [email protected], offline-comms
e depois na minha tabela "vmailbox" ( virtual_mailbox_maps
):
[email protected] supply/
Eu, então, tenho virtual_mailbox_base
configurado para ser o diretório base dos meus arquivos de e-mail. A entrada na tabela "virtual" divide o e-mail recebido como [email protected]
em uma entrega para offline-comms
(que alimenta o e-mail para os servidores de aplicativos) e também para si mesmo, para que também seja pesquisada no "vmailbox". A entrada "vmailbox" informa ao agente de entrega virtual(8)
para salvar o email em um Maildir chamado "supply" em virtual_mailbox_base
.
Concedido, isso significa ter que atualizar dois arquivos para adicionar um novo destinatário. Mas se você estivesse gerando esses arquivos a partir de um banco de dados, ou usando uma pesquisa de banco de dados, isso não seria realmente um problema.
Observe que alimentei o e-mail para offline-comms
para que seja canalizado para o servidor de aplicativos. Isso pode não funcionar para você, dependendo de como você integrou o DBMail. Outra maneira de fazer isso é alias de e-mail recebido em um domínio especial que é para arquivamento:
[email protected] [email protected], [email protected]
Em seguida, envie o domínio virtual emails.example.com
ao seu transporte do dbmail (por exemplo, usando o transports
map para simplesmente mapear emails.example.com
para dbmail-lmtp:
) e o archive.example.com
domain usando o virtual
transport to ser salvo no correio local.
Espero que ajude!