GUIDE ULTIME : Configuration de votre serveur pour une livraison d'e-mails fiable. PARTIE 2 : Comment empêcher les e-mails sortants d'aller dans les spams

Les enregistrements DNS sont un ensemble de paramètres techniques d'un domaine qui déterminent où acheminer les différents types de trafic : web, mail, FTP, etc.
Ils lient le nom de domaine aux adresses IP et à d'autres serveurs afin que les navigateurs et les systèmes de messagerie sachent où se connecter lors de l'utilisation de votre site web ou de vos e-mails.
Dans la Partie 1 de ce guide, nous avons configuré le pare-feu et ouvert les ports nécessaires à la livraison des e-mails. Maintenant que nous nous sommes assuré que les messages sont envoyés depuis votre serveur, nous devons vérifier que les enregistrements DNS sont correctement configurés. Gmail, Outlook et les autres principaux services de messagerie vérifient strictement les enregistrements MX, SPF, DKIM, DMARC et PTR avant de livrer les messages dans la boîte de réception principale. Des enregistrements corrects augmentent considérablement la probabilité que les messages arrivent dans le dossier de réception plutôt que dans les spams (ou soient complètement rejetés).
Dans les étapes suivantes, nous décrirons comment vérifier les enregistrements DNS actuels de chaque type et fournirons des recommandations sur la façon de les configurer correctement.
Dans cette partie de l'article, pour toutes les vérifications, nous utiliserons le domaine example.com, l'adresse IPv4 1.2.3.4 et l'adresse IPv6 2001:db8:1:11::1 comme exemples. Veuillez les remplacer par le nom réel de votre site web et vos adresses IP réelles.
Prérequis
Étape 1. Vérifier le fournisseur DNS
Dans le contexte de cet article, nous devrons modifier les enregistrements DNS à plusieurs reprises. Cela doit être fait dans le panneau de contrôle du fournisseur DNS actuel de votre domaine. Pour ce faire correctement, vous devez savoir exactement qui fournit actuellement ces services. Sinon, les modifications que vous apporterez n'auront aucun effet.
Le plus souvent, le rôle de fournisseur DNS est assuré par :
-
votre fournisseur d'hébergement,
-
votre bureau d'enregistrement de domaine, ou
-
votre fournisseur de protection DDoS.
Mais ce n'est pas toujours le cas.
Vous pouvez savoir exactement qui est le fournisseur DNS de votre domaine à l'heure actuelle en utilisant la commande whois. Par exemple, vérifions le domaine kodu.cloud :
whois kodu.cloud | grep -i "Name Server" | awk '{print $3}'
La sortie listera les serveurs NS :
art.ns.cloudflare.com
isla.ns.cloudflare.com
Cela signifie que dans ce cas, les enregistrements DNS doivent être modifiés dans le panneau de configuration de Cloudflare.
Dans de nombreux cas, vous pouvez déduire qui est le fournisseur DNS à partir du nom de domaine. Cependant, ce n'est pas toujours le cas. Par exemple, pour notre service DNS gratuit, disponible pour tous nos clients, les noms ressemblent à ceci :
birman.nameserver.red.
rex.nameserver.red.
korat.nameserver.blue.
toybob.nameserver.blue.
Dans ce cas, veuillez contacter le support technique de votre hébergeur pour plus de précisions.
Après avoir identifié définitivement votre fournisseur DNS, connectez-vous à son panneau de contrôle et allez dans la section permettant de modifier les enregistrements DNS pour votre domaine. La plupart des modifications décrites ci-dessous y seront apportées. Étant donné que toutes les interfaces sont différentes, il est impossible de fournir un guide étape par étape universel.
Si vous rencontrez des difficultés à cette étape, consultez le support technique.
Après avoir modifié les enregistrements DNS, la propagation du cache peut prendre de 20 minutes à 24 heures. En tenant compte du temps nécessaire aux principaux services de messagerie pour mettre à jour votre réputation, pour une livraison d'e-mails stable, il est recommandé d'attendre environ 48 heures, bien que la situation se normalise plus souvent après 2-3 heures.
Étape 2. Vérification de l'IPv6
Pour une configuration correcte, nous devons savoir exactement si le serveur possède une adresse IPv6. Pour le savoir, exécutez la commande :
ip a | grep inet6
Si la sortie ressemble à ceci :
inet6 ::1/128 scope host noprefixroute
inet6 2001:db8:1:11::1/120 scope global
inet6 fe80::1/64 scope link
alors votre serveur a une adresse IPv6. Elle sera indiquée sur la ligne se terminant par scope global jusqu'au signe /.
Notez l'adresse IPv6 de votre serveur afin de pouvoir l'utiliser plus tard.
Si la sortie est vide, ou ne contient qu'une seule ligne de la forme :
inet6 fe80::1c2:3dff:fe4a:5b6c/64 scope link
alors votre serveur n'a pas d'IPv6. Dans toutes les étapes suivantes, veuillez ne pas utiliser d'IPv6.
Configuration des enregistrements DNS
Étape 3. Vérification de l'enregistrement MX
L'enregistrement MX spécifie où les e-mails entrants pour le domaine doivent être livrés. Vous pouvez le vérifier avec la commande :
dig MX example.com +short
Exemple de sortie correcte :
10 mail.example.com.
Si la sortie indique une valeur incorrecte, modifiez l'enregistrement DNS dans le panneau de contrôle de votre fournisseur DNS :
- Type : MX
- Nom : @
- Adresse : mail.example.com
- Priorité : 10
Si l'enregistrement est manquant, vous obtiendrez une sortie vide :
~ dig MX badexample.com +short
~
Dans ce cas, créez un enregistrement DNS en suivant l'exemple ci-dessus.
Notez également qu'il peut y avoir plusieurs enregistrements MX. Dans ce cas, les e-mails seront d'abord envoyés au serveur ayant la valeur numérique de priorité la plus basse (par exemple, 10 a une priorité plus élevée que 20).
Si le serveur principal est indisponible, la livraison sera effectuée au serveur suivant par ordre de priorité.
Étape 4. Vérification des enregistrements A et AAAA
Ensuite, assurez-vous que mail.example.com et example.com pointent effectivement vers le serveur depuis lequel les messages sont envoyés :
dig A example.com +short
dig A mail.example.com +short
dig AAAA example.com +short
dig AAAA mail.example.com +short
Les adresses IP dans la sortie de ces commandes doivent correspondre aux adresses IPv4 et IPv6 réelles de votre serveur. Si elles diffèrent, ou si de tels enregistrements sont manquants, modifiez-les ou créez-les dans le panneau de contrôle de votre fournisseur DNS :
- example.com (A) :
- Type : A
- Nom : @
- Adresse : 1.2.3.4
- example.com (AAAA) :
- Type : AAAA
- Nom : @
- Adresse : 2001:db8:1:11::1
- mail.example.com (A) :
- Type : A
- Nom : mail
- Adresse : 1.2.3.4
- mail.example.com (AAAA) :
- Type : AAAA
- Nom : mail
- Adresse : 2001:db8:1:11::1
Étape 5. Vérification de l'enregistrement SPF
SPF définit quels serveurs sont autorisés à envoyer des e-mails au nom du domaine.
Vérification de l'enregistrement :
dig TXT example.com +short
Exemple d'un enregistrement SPF correct :
example.com. TXT "v=spf1 ip4:1.2.3.4 ip6:2001:db8:1:11::1 a mx ~all"
Il est extrêmement important que le domaine n'ait qu'un seul enregistrement SPF. Plusieurs enregistrements peuvent entraîner une erreur de validation.
Si l'adresse IP diffère de l'adresse de votre serveur actuel, ou si un tel enregistrement est manquant, modifiez-le ou créez-le dans le panneau de contrôle de votre fournisseur DNS :
Si l'IPv6 est présent :
- Type : TXT
- Nom : @
- Valeur : v=spf1 ip4:1.2.3.4 ip6:2001:db8:1:11::1 a mx ~all
S'il n'y a pas d'IPv6 :
- Type : TXT
- Nom : @
- Valeur : v=spf1 ip4:1.2.3.4 a mx ~all
L'enregistrement SPF a de nombreuses options supplémentaires, mais cet ensemble est suffisant pour un envoi d'e-mails correct.
Étape 6. Vérification de l'enregistrement DKIM
DKIM est une signature numérique d'un message qui confirme qu'il a été envoyé à partir du domaine spécifié et qu'il n'a pas été falsifié. Un enregistrement DNS de type TXT avec une clé publique est utilisé pour vérifier la signature : d'abord, la signature est créée sur le serveur, puis la clé est publiée dans le DNS.
Il existe diverses méthodes pour obtenir une signature DKIM pour votre domaine de messagerie, mais dans le cadre de cet article, nous considérerons l'option la plus simple : l'utilisation de FASTPANEL. Dans FASTPANEL, une signature DKIM est créée pour les domaines de messagerie par défaut.
FASTPANEL est extrêmement pratique pour travailler avec un serveur de messagerie : vous n'avez rien à configurer ou à installer manuellement. Dès la sortie de la boîte, vous obtenez un serveur de messagerie configuré pour un travail à part entière avec les e-mails entrants et sortants, ainsi qu'un client webmail pratique.
Par conséquent, tout ce que vous avez à faire est de copier la valeur de la clé publique et de l'ajouter à l'enregistrement DNS correspondant. Pour ce faire, dans le panneau, allez dans « Gestion » → « Mail » et cliquez sur le bouton « DKIM » à la fin de la ligne avec le nom de votre domaine de messagerie :

Ensuite, copiez la clé publique :

Du côté de votre fournisseur DNS, créez l'enregistrement DNS suivant :
- Type : TXT
- Nom :
dkim._domainkey - Valeur : la clé que vous avez copiée précédemment
Si un tel enregistrement existe déjà, il est préférable de remplacer la valeur de la clé pour être sûr qu'elle est à jour.
Il peut y avoir plusieurs enregistrements DKIM, mais dans ce cas, ils doivent avoir des noms différents. Par exemple, avoir simultanément des enregistrements avec les noms dkim._domainkey et mail._domainkey ne causera aucun problème.
Après la configuration et la mise à jour du cache DNS, vous pouvez vérifier la présence de l'enregistrement DKIM à l'aide de la commande :
dig TXT dkim._domainkey.example.com +short
Étape 7. Vérification de l'enregistrement DMARC
DMARC définit les règles de gestion des messages qui échouent aux contrôles SPF ou DKIM.
Vérification de l'enregistrement :
dig TXT _dmarc.example.com +short
Exemple de sortie :
"v=DMARC1;p=reject;sp=reject;adkim=s;aspf=s"
L'enregistrement DMARC a de nombreuses options supplémentaires, mais pour les scénarios courants, il suffit d'ajouter un enregistrement de la forme suivante :
- Type : TXT
- Nom :
_dmarc - Valeur : v=DMARC1; p=reject
Étape 8. Vérification de la variable sendmail_path (facultatif)
Cette étape sera très utile si vous envoyez des messages directement depuis votre site web (par exemple, via des formulaires de contact ou lors de la passation de commandes). Pour vous assurer que tous les enregistrements DNS nécessaires sont pris en compte pour de tels messages, définissez la valeur suivante pour la variable sendmail_path dans les paramètres PHP de votre site :
/usr/sbin/sendmail -t -i -f "[email protected]"
Par exemple, dans FASTPANEL, vous pouvez le faire dans la carte du site dans la section « Paramètres PHP ».
Configuration du nom d'hôte et du PTR
Le PTR (ou rDNS) est un enregistrement DNS inversé qui relie une adresse IP à un nom de domaine.
Le nom d'hôte du serveur est simplement le nom par lequel le serveur peut être identifié sur le réseau.
Si le PTR ne correspond pas au nom d'hôte du serveur, les messages finiront presque certainement dans les spams.
La meilleure pratique est de définir mail.example.com comme les deux valeurs (rappelez-vous que cette valeur doit toujours être remplacée par le nom réel de votre domaine).
Étape 9. Nom d'hôte
Pour connaître le nom d'hôte actuel de votre serveur, exécutez la commande :
hostname
Pour le modifier, exécutez :
sudo hostnamectl set-hostname mail.example.com
Exécutez ensuite à nouveau la commande hostname pour vous assurer que tout est correct.
Étape 10. PTR
La situation avec l'enregistrement PTR est quelque peu différente : il ne peut être modifié que par le propriétaire de l'adresse IP, c'est-à-dire votre fournisseur d'hébergement. Vous pouvez en apprendre davantage sur les raisons de cela dans cet article.
Certains fournisseurs d'hébergement vous permettent de modifier l'enregistrement PTR dans votre compte personnel. Vous pouvez essayer de le faire vous-même. Si cela ne fonctionne pas, contactez le support technique et demandez-leur de définir la valeur suivante comme enregistrement PTR :
mail.example.com
N'oubliez pas que cette valeur doit toujours être remplacée par le nom réel de votre domaine.
Les modifications sont généralement appliquées immédiatement ; il n'est pas nécessaire d'attendre les mises à jour du cache DNS dans ce cas. Vous pouvez vérifier l'enregistrement PTR actuel en utilisant la commande :
dig -x 1.2.3.4 +short
Vérification finale
Si vous êtes arrivé à cette section, félicitations : vous êtes sur la dernière ligne droite. Il ne reste plus qu'à vérifier que tout est correctement configuré et que les messages de votre serveur arriveront avec une quasi-garantie dans la boîte de réception de tout destinataire. Avant de le faire, assurez-vous d'attendre les mises à jour du cache DNS. Il est préférable d'attendre au moins 1 à 2 heures après les dernières modifications des enregistrements DNS.
Il existe de nombreux services tiers pour de telles vérifications. Vous pouvez utiliser l'un d'entre eux. Dans cet article, nous utiliserons le service mail-tester.com.
Pour effectuer la vérification, rendez-vous sur ce site web et copiez le nom de la boîte aux lettres de test :

Envoyez un message à cette adresse depuis n'importe quelle boîte aux lettres de votre domaine et cliquez sur le bouton « Vérifier mon score ». N'oubliez pas de spécifier un sujet et d'écrire quelque chose dans le corps du message.
Après cela, le service affichera les résultats de la vérification de DKIM, SPF, DMARC, de la présence d'un enregistrement PTR et un score global de « réputation » pour le message, ainsi que si votre serveur est répertorié dans les listes noires de SPAM.
Si vous avez suivi attentivement et systématiquement toutes les étapes de cet article, le résultat sera de 10/10. S'il est inférieur, veuillez étudier les recommandations de mail-tester. Ils expliqueront en détail quel est le problème et comment le résoudre.
De plus, vous pouvez vérifier si votre serveur est répertorié dans les listes noires de SPAM en utilisant un autre excellent service :
https://mxtoolbox.com/blacklists.aspx
Si l'une des vérifications montre que l'adresse IP de votre serveur se retrouve dans l'une des listes, contactez votre fournisseur d'hébergement afin qu'il puisse vous aider à résoudre le problème.
Cela conclut la configuration. Si vous ne souhaitez pas passer du temps à faire vos propres recherches ou si vous rencontrez des problèmes, vous pouvez toujours contacter le support technique de kodu.cloud. Nous effectuerons toutes les étapes décrites ici le plus rapidement possible pour nos clients, à tout moment et gratuitement.