Comment arrêter l'envoi de messages par Sendmail à partir d'IPv6 au lieu d'IPv4

11

Aujourd'hui, j'ai remarqué que Gmail envoie tous les messages reçus de mon serveur dans le dossier Spam. J'ai vérifié l'en-tête du message et j'ai trouvé ce qui suit:

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]

Ainsi, il semble que Sendmail envoie du courrier à partir de l'adresse IP6 sans IPv4 et qu'il n'y a pas d'enregistrements SPF et PTR pour IPv6. Comment forcer Sendmail à envoyer du courrier depuis IPv4?

Merci.

tfe
la source
4
Puisque vous avez la connectivité v6, il serait préférable d'ajouter la recherche inversée et l'enregistrement MX pour votre expéditeur compatible v6. Mais ce n'est pas ce que vous demandez.
sysadmin1138

Réponses:

10

Ne désactivez pas IPv6. Ce n'est plus facultatif et vous ne pourrez plus communiquer avec certaines personnes sans lui.

Au lieu de cela, corrigez votre enregistrement SPF afin qu'il transmette le courrier provenant de votre adresse IPv6.

Michael Hampton
la source
Et si votre fournisseur VPS ne souhaite pas définir l'enregistrement SPF pour IPv6. :(
brodul
2
@brodul Qu'est-ce que votre fournisseur VPS a à voir avec vos enregistrements DNS?
Michael Hampton
La correction de mon enregistrement SPF ne résout pas le problème - car je transfère du courrier à GMail, donc mon serveur de transfert ne réussira jamais une vérification SPF.
James Roper
3
Gmail nécessite désormais également une inversion de travail pour les expéditeurs IPv6. Avoir une adresse inversée fonctionnelle est définitivement hors de vos mains et dépend de votre fournisseur de serveur / réseau.
Vladimir Panteleev
Êtes-vous sûr? Si je ne me trompe pas, gmail nécessite uniquement un enregistrement SPF valide de nos jours (et vous devez former leur IA en cliquant plusieurs fois sur "Not Spam")
autra
11

Dans votre sendmail.mc ajoutez:

CLIENT_OPTIONS (`Family = inet ') dnl

Reconstruisez ensuite sendmail.cf et redémarrez sendmail. Dans Debian, vous faites cela en exécutant> sendmailconfig. Dans CentOS, vous exécutez / etc / mail / make suivi du redémarrage du service sendmail. D'autres systèmes ont d'autres moyens de le faire.

Merci d'avoir posté cela, et cela m'a définitivement mis sur la bonne voie. Cependant, j'ai essayé cela, mais cela ne fonctionnait toujours pas pour moi. En guise de remarque, nous recevions des rejets des serveurs de messagerie Google parce que nous n'avions pas d'entrée DNS inversée pour IPv6. Ceci est définitivement lié à la configuration de notre VPS, et non à notre configuration DNS, car l'entrée DNS inversée numérique doit aller à celui qui possède le bloc d'adresses IP, et c'est mon VPS.

Quoi qu'il en soit, à ma connaissance, il n'y a aucun moyen de désactiver spécifiquement sendmail en utilisant IPv6 en tant que client. La résolution légèrement délicate à laquelle je suis parvenu était de spécifier les options IPv6 pour utiliser un format de compatibilité IPv6 d'une adresse IPv4.

Par exemple, si votre adresse IPv4 est 1.2.3.4, spécifiez:

CLIENT_OPTIONS (`Family = inet6, Addr = :: ffff: 1.2.3.4 ') dnl

A fonctionné un charme pour moi, et autant que je puisse voir, cela n'a été documenté nulle part.

David
la source
Merci beaucoup pour votre réponse! Cela a fait l'affaire pour moi sur un serveur où je n'avais pas accès à IPv6 PTR et sendmail était obstiné de l'utiliser pour Gmail.
Luxian
4

Dans votre sendmail.mcajout:

CLIENT_OPTIONS(`Family=inet')dnl

Reconstruisez sendmail.cfpuis redémarrez sendmail. Dans Debian, vous faites cela en exécutant sendmailconfig. Dans CentOS, vous exécutez /etc/mail/makesuivi de service sendmail restart. D'autres systèmes ont d'autres façons de procéder.

adamo
la source
0

Je voulais juste partager cela pour moi (maintenant en 2018), ce qui a fonctionné était de spécifier filter-aaaa-on-v4 oui; dans le lien nommé.conf de ma liaison locale, par https://kb.isc.org/docs/aa-00576 (sauf la directive filter-aaaa-on-v6 mentionnée, il n'existe pas dans mon esprit). Probablement nommé -4 aurait également fonctionné. Ceci avec sendmail et bind sur centos7 [.5.1804].

Avec tout le reste, j'ai essayé, y compris la réponse ici, gmail a rebondi mon courrier avec le redouté "ce message ne répond pas aux directives d'envoi IPv6", car, en effet, je n'ai pas d'inverse pour mon adresse ipv6 (l'isp est difficile).

Autres choses qui n'ont pas fonctionné: définir ( confBIND_OPTS',-use_inet6 ') (alias ResolverOptions) dans submit.mc et sendmail.mc, par https://lists.debian.org/debian-user/2004/09/msg01410.html . Je ne sais pas pourquoi.

Modification de /etc/gai.conf (par https://centosfaq.org/centos/etcgaiconf-fails-to-prefer-ipv4-over-ipv6-for-nfs/ ), probablement parce que sendmail utilise gethostbyname / addr, pas getaddrinfo, et gai.conf affecte uniquement ce dernier.

Oh, j'avais une autre solution: compiler sendmail à partir des sources et désactiver la v6 à ce niveau. Malheureusement, il ne semble pas y avoir de directive d'exécution équivalente.

karlb
la source