Configure o Postfix para usar servidores MX externos para entrega de correio local se o usuário for desconhecido

3

Eu tenho a seguinte configuração:

  • caixa linux com postfix configurado para ser responsável pelo domínio example.com
  • Os servidores MX do domínio
  • são configurados para que o e-mail enviado para example.com seja enviado para os servidores de e-mail do Google
  • várias contas de usuário na máquina linux existem (a mesma máquina também hospeda o site example.com)

Quando alguém de fora tenta enviar um e-mail para o endereço que termina com @ example.com, ele é roteado para o Google Mail (e tratado apropriadamente).

Quando a máquina linux tenta enviar mensagens para o mundo externo, as mensagens são entregues corretamente, pois os arquivos reverse dns e spf são configurados corretamente, então a máquina linux é remetente de email válido para o domínio example.com (junto com os servidores de e-mail do google). / p>

No entanto, aqui está o problema. Quando o aplicativo php (hospedado na caixa linux) tenta enviar e-mail para [email protected] (e algum usuário não existe na caixa linux), ele falha, pois nem sequer consulta servidores de e-mail do google, mas postfix smtp localmente conclui que "someuser" é desconhecido.

Então, a questão é : como eu digo ao postfix para retransmitir os e-mails enviados para o domínio @ example.com para os servidores de e-mail do Google (assim, para servidores especificados em registros MX), SE e somente se uma caixa de correio não é encontrada localmente.

    
por mr.b 20.03.2011 / 18:04

2 respostas

6

Você precisa que o servidor postfix seja responsável por example.com? (Alguma vez você quer que o e-mail seja entregue lá em vez de no google?) Se você sempre quer que o e-mail para usuários locais vá até o google, remova $ mydomain do parâmetro mydestination em main.cf. Isso não alterará de onde os e-mails parecem estar vindo de usuários externos. (Isso é controlado por "myorigin")

Como o postfix pensa que é responsável pelo domínio ou não, não há uma maneira fácil de dividir o domínio para que alguns e-mails sejam entregues localmente e alguns sejam entregues ao google. Você pode fazer alguns truques, colocando regras de encaminhamento ou com mapeamento de transporte, mas você precisa especificar o google ou local para cada usuário. Eu meio que duvido que você realmente queira fazer isso.

    
por 20.03.2011 / 18:20
1

Você definiu "relayhost" em main.cf?

Aqui faz parte do main.cf

myhostname = example.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = localhost
relayhost = googlemail.host

Os e-mails enviados para [email protected] serão retransmitidos para googlemail.host

Em / etc / aliases você pode fornecer um alias para o usuário root para entrega local, como

root: [email protected]
    
por 20.03.2011 / 21:24

Tags