Postfix - Entregando para diferentes rotas no mesmo ambiente

Publicado por Fabio Soares Schmidt em 06/05/2013

[ Hits: 5.452 ]

 


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

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

Diretiva do Squid 3.2: Memory cache mode

Separando os logs do AMaViS no Debian

Configurando o AMaViS em servidor dedicado

Zimbra: Aplicando patch para a falha Heartbleed

Leitura recomendada

Compartilhando calendário e lista de endereços no OpenWebmail

Debian Wheezy - Erro: Return-Path nulo no Sieve scripts [Resolvido]

Thunderbird: Removendo (de fato) mensagens do servidor IMAP

Configurando o Gmail como aplicativo preferencial de e-mail

Problema com fuso horário no Sendmail

  

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