Como configurar o postfix para jogar fora todos os emails em um domínio e retransmitir todos os outros emails?

9

Preciso configurar o postfix em um ambiente de desenvolvimento / teste para filtrar emails, para não enviar spam aos nossos clientes. Em nossos ambientes de teste, limpamos todos os dados do usuário para que os endereços de email sejam alterados para @localhost, embora alguns endereços possam ser alterados para endereços de email válidos posteriormente para fins de teste. Retransmitimos todo o nosso email por meio de um provedor terceirizado para entrega, então o que eu gostaria de fazer é configurar o postfix para:

  1. Jogue fora qualquer email enviado para o host local
  2. Retransmitir todo o e-mail restante para o nosso fornecedor terceirizado.

Sendo relativamente novo no postfix, qual seria a maneira mais fácil de configurar isso?

Bruce P
fonte

Respostas:

8

Bem, parece que eu consegui descobrir isso com um pouco de pesquisa e teste. Aqui está o que eu tinha que fazer:

  • Em /etc/postfix/main.cf:

    transport_maps = hash:/etc/postfix/transport
    smtp_sasl_auth_enable = yes
    smtp_sasl_password_maps = static:<relayhost username>:<relayhost password>
    smtp_sasl_security_options = noanonymous
    smtp_tls_security_level = may
    start_tls = yes
    
  • Em / etc / postfix / transport:

    localhost discard: 
    localhost.localdomain discard:
    * relay:[smtp.relayhost.com]:587
    

A retransmissão aparentemente também ignora a diretiva alias_maps, portanto, para que os alias continuem funcionando, tive que comentar tanto alias_maps quanto alias_database e substituí-los por virtual_alias_maps. O formato do virutal_alias_map é idêntico ao alias_maps, pelo que foi uma alteração fácil de efetuar.

Com essas alterações, basta reiniciar o postfix e também executar "postmap / etc / postfix / transport" para criar transport.db. Agora, tudo endereçado a @localhost ou @ localhost.localdomain é descartado, enquanto todo o resto é retransmitido através do host especificado.

Bruce P
fonte
1
Esta não é a resposta para a pergunta do OP, mas em uma nota relacionada, aqui está o que eu fiz para jogar fora todas as mensagens enviadas em um clone temporário de uma caixa de produtos: 1. Abra /etc/postfix/main.cf2. Adicione default_transport = discard:Outgoing email disabled on this node3. Reinicie o Postfix: service postfix restart* a reloadpode ser suficiente
deoren