Postfix - Entregando para diferentes rotas no mesmo ambiente

Publicado por Fabio Soares Schmidt em 06/05/2013

[ Hits: 5.409 ]

 


Postfix - Entregando para diferentes rotas no mesmo ambiente



Recentemente, precisei efetuar a configuração no Postfix para entregar mensagens em diferentes ambientes.

Na mesma rede corporativa são utilizados dois domínios, sendo um utilizando o Cyrus IMAP e o outro utilizando o Exchange 2010. Além das entregas diferentes para os domínios internos, as mensagens para domínios externos deveriam ser encaminhadas para um SMTP de borda, como o IBM Proventia.

Veja a ilustração sobre como deve ser a entrega nesse ambiente:
Linux: Postfix - Entregando para diferentes rotas no mesmo ambiente
Sabemos que para entregar as mensagens que não são locais para outro servidor, devemos utilizar o parâmetro relayhost no "main.cf", porém, como fazer para que os dois domínios internos sejam encaminhados para o destino correto?

Conforme a documentação do Postfix, os parâmetros "relay_transport", "sender_dependent_default_transport_maps", "default_transport,sender_dependent_relayhost_maps" e a tabela "transport", têm prioridade sobre o relayhost, portanto, podemos utilizar uma destas soluções para atender nossa necessidade.

Vejamos, então, como fica a configuração utilizando os parâmetros relayhost e transport_maps, no "main.cf":

#Aqui adiciono o IP do servidor de borda, que irá efetuar a entrega para domínios externos
relayhost = SERVIDOR_DE_BORDA

#Aqui defino o transport_maps com o arquivo que irá controlar as entregas para os domínios internos
# que estão em diferentes ambientes

transport_maps = hash:/etc/postfix/transport_maps


O arquivo "transport_maps" deve ficar da seguinte forma:

dominio1       lmtp:SERVIDOR_CYRUS_IMAP:lmtp
dominio2       smtp:SERVIDOR_EXCHANGE


Como podemos observar, o transport_maps permite rotas diferentes por destinos, inclusive, utilizando protocolos diferentes. Efetuada a configuração, basta executar o postmap no arquivo transport_maps e efetuar o reload no Postfix.

Obrigado,
Respirando Linux por Fabio Soares Schmidt

Outras dicas deste autor

Liberar o MSN para usuários determinados

Cyrus Imap: Fatal error: Internal error: assertion failed: seen_db.c: 127: *seendbptr == NULL

Otimizando o squid: Abortando solicitações interrompidas

Postfix: Desabilitando SSLv3 (Poodle Vulnerability)

Cyrus Aggregator: Configurando o Postfix nos servidores back-end

Leitura recomendada

SMTP Auth com Postfix e SASL (sem domínios virtuais)

E-mail Linux

Postfix: Desabilitando SSLv3 (Poodle Vulnerability)

Gmail permite cancelar o envio de email após 5 segundos

Acessando sua conta de email POP pelo telnet

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts