Como ter o exim no servidor com vários domínios envia cada mensagem de seu próprio domínio, não o nome de host do servidor?

1

Suponha que eu tenha um VPS com vários endereços IP dedicados e vários domínios:

  • domain-a.com está em 11.11.11.11 , mx é mail.domain-a.com
  • domain-b.com está em 22.22.22.22 , mx é mail.domain-b.com
  • domain-c.com está em 33.33.33.33 , mx é mail.domain-c.com

domain-a.com é o domínio principal e o nome do host do servidor é server.domain-a.com

Tudo parece estar bem até eu descobrir que os emails SMTP enviados usando o Exim 4.72 estão sendo ignorados, falhando ou sendo sinalizados como spam para muitos domínios. Depois de algumas pesquisas, descubro que há incompatibilidades: para emails de todos os domínios, o HELO é de server.domain-a.com .

Por exemplo, vejo isso nos cabeçalhos dos e-mails que envio para o gmail:

Received: from server.domain-a.com (mail.domain-c.com. [33.33.33.33])

E um serviço de testes de e-mail como o link me diz:

Your reverse DNS does not match with your sending domain.

Your IP address 33.33.33.33 is associated with the domain mail.domain-c.com.

Nevertheless your message appears to be sent from server.domain-a.com.

You may want to change your pointer (PTR type) DNS record and the host name of your server to the same value.

Here are the tested values for this check:

IP: 33.33.33.33
HELO: server.domain-a.com
rDNS: mail.domain-c.com

Mas obviamente eu não consigo apontar server.domain-a.com nos domínios a, b e c de uma vez, e de qualquer forma, eu não quero necessariamente que domain-c.com esteja enviando via domain-a.com - vamos supor que eles são empresas independentes que, por acaso, estão hospedadas no mesmo servidor.

Como posso configurar o exim para enviar cada email de seu próprio domínio e para HELO do domínio do servidor de correio, não do hostname primário do servidor?

Para que os cabeçalhos sejam assim:

Received: from mail.domain-c.com (mail.domain-c.com. [33.33.33.33])

E os resultados dos testes relatam isso:

IP: 33.33.33.33
HELO: mail.domain-c.com
rDNS: mail.domain-c.com

Eu encontrei uma solução para esta mesma pergunta para endereços IP , que é como eu estou enviando e-mails de diferentes IPs, então tenho certeza que deve haver uma solução similar para domínios.

Na minha pesquisa, tudo o que consegui encontrar foi esta solução mas depende de cP *** l e W * M e um arquivo /etc/mailhelo que só existe em cP *** l. É claramente possível, mas essa solução depende de alguns gubbins dos bastidores feitos em cP *** l, que eu não uso.

O sistema operacional é o CentOS, se isso for relevante.

    
por user568458 24.02.2016 / 17:07

1 resposta

0

Bem, isso foi mais fácil do que o esperado.

Percebi que meu arquivo de configurações do exim ( /etc/exim/exim.conf ) continha essa linha comentada:

#helo_data = $sender_address_domain

Descobrir isso fez com que o HELO / se tornasse o domínio certo, faltando apenas o prefixo mail. .

Então, o que funcionou para mim foi:

(1) Abaixo de remote_smtp: no meu arquivo de configuração exim, que no meu sistema estava localizado em /etc/exim/exim.conf , adicionando a seguinte linha:

helo_data = "mail.${sender_address_domain}"

(2) Reiniciando o exim (no meu sistema, isso foi service exim restart )

(3) Isso é tudo

Depois de fazer essa alteração, serviços como o Mail Tester não encontram problemas, e essa seção dos cabeçalhos de e-mail parece normal:

Received: from mail.domain-c.com (mail.domain-c.com. [33.33.33.33])

O nome do host ainda aparece mais tarde nos cabeçalhos de e-mail; Eu perguntei uma pergunta separada sobre isso .

    
por 24.02.2016 / 17:58

Tags