Como parar o Sendmail a enviar email do IPv6 em vez do IPv4

11

Hoje notei que o Gmail envia todas as mensagens recebidas do meu servidor para a pasta Spam. Verifiquei o cabeçalho da mensagem e encontrei o seguinte:

Authentication-Results: mx.google.com;
       spf=neutral (google.com: 2001:4ba0:cafe:........ is neither permitted nor denied by best guess record for domain of [email protected]) [email protected]

Portanto, parece que o Sendmail está enviando e-mails do endereço IP6 em vez do IPv4 e não há registros SPF e PTR para o IPv6. Como forço o Sendmail a enviar emails do IPv4?

Obrigado.

tfe
fonte
4
Como você possui conectividade v6, seria melhor adicionar a pesquisa inversa e o registro MX para sua mala direta compatível com v6. Mas, não é isso que você está perguntando.
sysadmin1138

Respostas:

10

Não desative o IPv6. Não é mais opcional e você não poderá se comunicar com algumas pessoas sem ele.

Em vez disso, corrija seu registro SPF para que ele passe emails originados no seu endereço IPv6.

Michael Hampton
fonte
E se o seu provedor VPS não quiser definir o registro SPF para IPv6. :(
brodul 9/09/13
2
@brodul O que o seu provedor de VPS tem a ver com seus registros DNS?
Michael Hampton
A correção do meu registro SPF não resolve o problema - porque estou encaminhando e-mails para o GMail, para que meu servidor de encaminhamento nunca seja aprovado em uma verificação SPF.
James Roper
3
Agora, o Gmail também exige uma reversão funcional para remetentes IPv6. Ter um endereço reverso funcional está definitivamente fora do seu alcance e depende do seu servidor / provedor de rede.
Vladimir Panteleev 23/01
Você tem certeza? Se não me engano, o gmail exige apenas um registro SPF válido hoje em dia (e você deve treinar a IA deles clicando em "Não é spam" algumas vezes)
autra
11

No seu sendmail.mc, adicione:

CLIENT_OPTIONS (`Família = inet ') dnl

Em seguida, recrie o sendmail.cf e reinicie o sendmail. No Debian você faz isso executando> sendmailconfig. No CentOS, você executa / etc / mail / make, seguido pelo serviço sendmail restart. Outros sistemas têm outras maneiras de fazer isso.

Obrigado por postar isso, e definitivamente me colocou no caminho certo. No entanto, eu tentei isso, mas ainda não estava funcionando para mim. Como observação lateral, estávamos recebendo rejeições dos servidores de correio do Google porque não possuímos uma entrada DNS reversa para o IPv6. Definitivamente, isso está relacionado à configuração do nosso VPS, e não à configuração do DNS, porque a entrada DNS reversa numérica deve ser direcionada para quem possui o bloco de endereços IP, e esse é o meu VPS.

De qualquer forma, até onde posso ver, não há como desativar especificamente o sendmail usando o IPv6 como cliente. A resolução um pouco complicada que cheguei foi especificar as opções de IPv6 para usar um formato de compatibilidade IPv6 de um endereço IPv4.

por exemplo, se o seu endereço IPv4 for 1.2.3.4, especifique:

CLIENT_OPTIONS (`Família = inet6, Addr = :: ffff: 1.2.3.4 ') dnl

Trabalhou um charme para mim e, tanto quanto posso ver, isso não foi documentado em nenhum lugar.

David
fonte
Muito obrigado pela sua resposta! Ele fez o truque para mim em um servidor em que não tinha acesso ao IPv6 PTR e o sendmail era teimoso em usá-lo no Gmail.
Luxian 22/10
4

No seu sendmail.mcadd:

CLIENT_OPTIONS(`Family=inet')dnl

Em seguida, reconstrua sendmail.cfe reinicie o sendmail. No Debian você faz isso executando sendmailconfig. No CentOS você executa, /etc/mail/makeseguido de service sendmail restart. Outros sistemas têm outras maneiras de fazer isso.

adamo
fonte
0

Só queria compartilhar isso para mim (agora em 2018), o que funcionou foi especificar filter-aaaa-on-v4 yes; no meu bind local é named.conf, por https://kb.isc.org/docs/aa-00576 (exceto a diretiva filter-aaaa-on-v6 mencionada que não existe em minha mente). Provavelmente chamado -4 também funcionaria. Isso com sendmail e ligação no centos7 [.5.1804].

Com tudo o que tentei, incluindo a resposta aqui, o gmail retornou meus e-mails com o temido "esta mensagem não atende às diretrizes de envio do IPv6", porque, na verdade, não tenho um reverso para o meu endereço IPv6 (o ISP é difícil).

Outras coisas que não funcionaram: define ( confBIND_OPTS',-use_inet6 ') (também conhecido como ResolverOptions) em submit.mc e sendmail.mc, por https://lists.debian.org/debian-user/2004/09/msg01410.html . Eu não sei porque não.

Alterando /etc/gai.conf (por https://centosfaq.org/centos/etcgaiconf-fails-to-prefer-ipv4-over-ipv6-for-nfs/ ), presumivelmente porque o sendmail usa gethostbyname / addr, não getaddrinfo, e o gai.conf afeta apenas o último.

Ah, eu tinha outra solução: compile o sendmail da fonte e desative a v6 nesse nível. Infelizmente, parece não haver uma diretiva de tempo de execução equivalente.

karlb
fonte