Servidor SMTP / POP apenas para e-mails internos no domínio hospedado

0

Temos um domínio para um site e e-mail hospedado fora do site. (Nós não temos uma conexão confiável o suficiente para hospedá-lo nós mesmos.)

Nosso host compartilhado às vezes tem problemas de SMTP, mas nunca problemas de POP.

É possível configurar um servidor de e-mail no CentOS 6.4 que funcione internamente (ou seja, envio entre endereços de e-mail em nosso domínio, mesmo que nossos domínios de rede sejam nomeados de maneira diferente do nosso site) mesmo que nossa Internet está inativo ou o servidor SMTP do host compartilhado está inativo, mas usará o SMTP do host compartilhado para endereços externos e ainda permitirá que o email POP seja recuperado do host compartilhado, por exemplo, quando estamos em casa ou na estrada?

    
por Kev 22.07.2013 / 14:12

1 resposta

1

Existem várias soluções possíveis para esse problema, e todas são bastante complexas. Esta é a configuração mais transparente que eu poderia imaginar, mas honestamente eu mudaria os hosts se o serviço SMTP não fosse confiável. Há muitos fornecedores bons e baratos de serviços de correio. Além disso, considere o uso do IMAP em vez do POP3, pois isso aliviará os problemas com a sincronização que provavelmente surgirão dessa configuração.

A solução é complicada devido ao acoplamento necessário entre um agente de transferência de email (MTA) e um agente de entrega de email (MDA). Para que um e-mail exista no servidor POP3 (o MDA), ele deve ter sido entregue por meio do servidor SMTP não confiável (o MTA). Seu MTA não pode armazenar mensagens no MDA remoto, e o MTA remoto não pode enviar mensagens para o seu MDA. Sem a sincronização completa das mensagens em ambas as direções, o e-mail interno da empresa (a parte "envio entre endereços de e-mail em nosso domínio") enviado do escritório só será armazenado no MDA local. Isso significa que os usuários que trabalham fora do escritório não receberão e-mails internos ao verificar a conta POP3 hospedada.

Você precisará no mínimo:

  • MTA para SMTP - Courier é o padrão para o CentOS e uma boa escolha
  • Firewall (para redirecionamento de IP / porta) - o netfilter ou rinetd funcionará
  • MDA e proxy para contas POP3 / IMAP - Perdição provavelmente é o melhor, o Courier tem essa funcionalidade

MTA local para SMTP de backup

Adicione o servidor SMTP do seu host de e-mail (o MTA remoto) em /etc/courier/esmtproutes (ou onde quer que o arquivo seja instalado no CentOS) para fazer com que o Courier encaminhe todas as mensagens para ele. Quando o SMTP do seu host estiver inativo, o MTA local enfileirará o email de saída e tentará novamente a entrega para o MTA remoto em um intervalo configurável.

Redirecionamento de portas

Configure seu firewall para encaminhar todo o tráfego de saída na porta 25 para o seu MTA local.

Você pode implementar apenas o acima para a configuração mais simples. Ele não permitiria que o email interno continuasse normalmente, mas tornaria o tempo de inatividade do MTA remoto menos perceptível

MTA local com domínio hospedado

Adicione o domínio da sua empresa como um domínio hospedado para o Courier (o MTA local) em /etc/courier/hosteddomains . Isso substituirá o smarthost e entregará mensagens de acordo com as regras de roteamento configuradas. Veja makehosteddomains e Módulos de transporte para mais informações.

MDA e proxy locais Isso pode ser implementado de várias maneiras, mas por exemplo:

  1. Mantenha uma cópia local das credenciais da conta de e-mail e use-as para autenticar os usuários no MDA local, que poderia, por padrão, entregar em uma pasta "Local" para cada conta de usuário
  2. Use courier-authlib / authpipe ou Perdition para retransmitir essas credenciais para o MDA remoto ao mesmo tempo, incluindo o restante das pastas
  3. Configure um cron job para tentar enviar novas mensagens na pasta "Local" para o MTA remoto quando o serviço SMTP estiver ativo

... ou implemente o DNS interno e:

  • Alterar as preferências do MX no domínio da empresa, roteando tudo para os dois MTAs (tecnicamente, seria necessário dois MTAs internos)

ou

  • Basta usar um nome de domínio diferente (até mesmo falso) para e-mails internos e implementá-lo como um sistema de failover
por 23.07.2013 / 21:07