Dois mailserver tecnologicamente diferentes (Postfix / Exchange) para um domínio

2

Eu tenho um par de usuários em um servidor de mensagens do Debain Postfix. Está tudo bem. Agora precisamos colocar alguns usuários em um Exchange Server (Office 365) hospedado.

É possível configurar os servidores de e-mail e o DNS MX para um domínio dessa maneira, se a caixa de entrada do usuário não estiver no servidor1, a pesquisa é encaminhada para o servidor2?

  • Qual é a melhor prática para isso?
  • Quem é o smtp de envio?

Obrigado Peter

    
por tromm 27.10.2015 / 14:59

4 respostas

4

Bem ... não e sim.

O problema é que, quando a consulta do registro MX do DNS é concluída, o servidor DNS não sabe quem é o usuário (essa informação não é enviada ao servidor DNS), portanto, o servidor DNS não pode enviar registros MX são especiais para alguns usuários. Seria estranho (a frase técnica é "uma violação de camadas") para o DNS saber muito sobre seus usuários. Além disso, e se o email tivesse 2 pessoas na linha To: , uma para um dos usuários originais e outra para os usuários do Exchange? Fica confuso.

Vamos chamar os usuários que têm seus e-mails entregues no servidor Postfix "Grupo P" e os usuários que desejam que seus e-mails sejam entregues no Exchange "Grupo E".

A solução é o servidor Postfix entregar emails do Grupo P localmente e encaminhar os emails do Grupo E para o servidor Exchange. Da mesma forma, os servidores do Exchange precisam saber para entregar os emails do Grupo E localmente e os emails do Grupo P precisam ser encaminhados.

A chave é garantir que esses dois servidores tenham as mesmas informações exatas. Caso contrário, ambos os servidores entregarão as mensagens de uma pessoa localmente, ou (ainda pior) nem pensarão que são responsáveis pelo e-mail e farão um pingue-pongue entre os servidores.

Solução se o Grupo E for pequeno:

Se o grupo E for curto (isto é, com algumas exceções), você pode fazer isso:

  • No Postfix, configure aliases para cada usuário para encaminhar seus e-mails para sua conta do Exchange.
  • No Exchange, configure o servidor para encaminhar emails para usuários desconhecidos para o servidor Postfix. (Infelizmente eu não sei as configurações para isso, como eu não sei Exchange).

Solução para sites maiores:

Para configurações maiores, recomendo que os dois servidores (chamem-nos serverE.example.com e serverP.example.com) estejam configurados para entregar emails locais para [email protected] e [email protected] respectivamente, mas não entrega o email localmente para [email protected]. Cada máquina acessa um banco de dados LDAP / ActiceDirectory que indica que (por exemplo) [email protected] tem seu e-mail entregue a [email protected] e [email protected] envia seu e-mail para [email protected] . Dessa forma, as coisas permanecem sincronizadas e você só tem um lugar para atualizar.

Pouco fato conhecido: Com o postfix, se o arquivo aliases contiver:

tom: [email protected]
geri: [email protected]

E o mydestination de mail.cf contém serverP.example.com , mas não serverE.example.com , então o e-mail para tom será entregue localmente e o e-mail para geri será retransmitido para o serverE. Não vai criar um loop!

Eu levanto esse problema porque antes de saber disso, escrevi um grande script em perl que gerava aliases arquivos para cada servidor de email para que (por exemplo) tom não aparecesse no arquivo aliases para serverP , apenas todos os outros. Quando soube disso, eliminei o roteiro. O mesmo arquivo aliases pode estar em todas as máquinas. (Claro que, como o Exchange não usa aliases arquivos, alguma outra coisa deve ser feita nesses servidores.)

Se myorigin = example.com , em seguida, o email de saída tiver "[email protected]" na linha From: , e ninguém será mais sábio se houver dois servidores de e-mail. (Eu não sei o equivalente da Exchange, mas tenho certeza que existe.)

Aviso de teste

Ao testar essa configuração, não basta testar se o email recebido vai para o lugar certo. Certifique-se também de que o email enviado de cada cliente vá para o lugar certo. Por exemplo, um usuário do Exchange envia uma mensagem To: tom, geri e garante que ambos sejam entregues. Faça o usuário Debian fazer o mesmo. Já vi situações em que (por exemplo) os aliases e / ou encaminhamento não estavam configurados nas duas máquinas e os e-mails foram entregues localmente para o usuário tom em ambos os servidores. tom teve que ler o email em ambos os lugares até que isso fosse corrigido. Opa!

    
por 27.10.2015 / 15:14
1

Uma forma é fazer com que o Postfix receba todos os e-mails e, em seguida, encaminhe-os para o servidor do Exchange com base em regras / aliases, etc ...

    
por 27.10.2015 / 15:10
0

Se você tiver apenas alguns usuários no postfix, provavelmente será mais fácil criar contatos de email no Exchange e colocar os usuários do postfix em um subdomínio interno.

Você deseja realizar algo em particular, como roteamento de e-mails através da Proteção do Exchange Online?

A Melhor Prática é que você terá apenas um serviço em seu registro MX, e o segundo serviço precisará estar autorizado a enviar e-mails por meio do principal (uma seção do Conector no Exchange)

Você pode enviar SMTP através dos dois serviços se configurar o SPF para ambos os serviços enviarem em nome do seu domínio de email.

    
por 27.10.2015 / 15:32
0

Como esses outros usuários disseram, isso é conhecido como compartilhamento de namespace SMTP. Você menciona alguns usuários no sistema Postfix. Eu teria todos os emails enviados para o servidor Exchange e, em seguida, transferir o email dos usuários desconhecidos para o sistema Postfix. Procure nas Propriedades padrão do SMTP. Você precisará procurar algo que diga "Encaminhar todas as mensagens com destinatários não resolvidos para o host:".

    
por 11.11.2016 / 18:50