Esse problema pode ser resolvido pelo postfix ou pelo dovecot.
- No dovecot, você deve definir o serviço LMTP para responder com rejeição temporária 4XX (para o seu domínio "especial") quando o postfix enviar um email.
- No postfix, você precisa configurar o postfix, então ele deve adiar o email se o domínio do destinatário corresponder ao seu domínio "especial".
A opção 1 não é possível porque, ao contrário de postfix-dovecot, não pode ser configurado para emitir o erro de tempfail para determinado domínio. Veja a discussão em [Dovecot] Configuração do código de rejeição do LMTP .
Para a opção 2 , você precisa transportar o domínio "especial" para um endereço que não esteja funcionando, por exemplo, você pode entregá-lo à porta fechada no servidor LMTP . Para isso, você precisa do segundo transport_maps
com uma consulta como essa
#/etc/postfix/sql/transport-defer.cf
query = SELECT concat('lmtp:',servers.address, ':2424') FROM servers
JOIN domains ON (domains.server_id=servers.ID)
WHERE domains.name LIKE SUBSTRING_INDEX("%s", "@", -1)
AND domains.enable_lmtp != 1
LIMIT 1;
Na consulta acima, eu uso a porta 2424 como porta fechada para manter o postfix adiando a mensagem.
Em seguida, coloque-o ao lado de mysql:/etc/postfix/sql/transport.cf
#main.cf
transport_maps = mysql:/etc/postfix/sql/transport.cf mysql:/etc/postfix/sql/transport-defer.cf
PS: como você não tem caixa de correio no servidor pós-fixada, seria preferível usar relay_domains
e relay_recipient_maps
para substituir virtual_mailbox_domains
e virtual_mailbox_maps
. Consulte a documentação da classe de domínio de retransmissão .