Guide technique

Comment configurer DKIM pour votre domaine

DKIM (DomainKeys Identified Mail) est un protocole d'authentification email qui permet de prouver qu'un message n'a pas été modifié entre son envoi et sa réception, et qu'il provient bien du domaine affiché. C'est le deuxième pilier de l'authentification email, après SPF et avant DMARC. Depuis les nouvelles exigences de Gmail et Yahoo en 2024, DKIM est devenu indispensable pour garantir la délivrabilité de vos emails.

Comment fonctionne DKIM

DKIM repose sur la cryptographie asymétrique, c'est-à-dire un système de clé privée et clé publique. Le principe est simple, même si la mécanique technique est sophistiquée :

  1. Génération des clés - Une paire de clés est créée : une clé privée (secrète, stockée sur le serveur d'envoi) et une clé publique (publiée dans le DNS de votre domaine).
  2. Signature à l'envoi - Quand votre serveur envoie un email, il utilise la clé privée pour créer une signature numérique basée sur le contenu du message (en-têtes et corps). Cette signature est ajoutée dans un en-tête spécial : DKIM-Signature.
  3. Vérification à la réception - Le serveur destinataire lit l'en-tête DKIM-Signature, extrait le domaine et le sélecteur indiqués, puis interroge le DNS pour récupérer la clé publique correspondante.
  4. Validation - Avec la clé publique, le serveur vérifie que la signature correspond au contenu du message. Si c'est le cas, le résultat est PASS. Sinon, le message a été altéré ou la signature est invalide.

Anatomie d'un en-tête DKIM

Voici à quoi ressemble un en-tête DKIM dans un email :

DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
  d=votre-domaine.fr; s=google;
  h=from:to:subject:date:message-id;
  bh=base64encodedBodyHash;
  b=base64encodedSignature

Les champs importants :

  • d= - Le domaine qui signe l'email (votre domaine).
  • s= - Le sélecteur, une chaîne qui identifie la clé utilisée. Permet d'avoir plusieurs clés DKIM pour un même domaine.
  • a= - L'algorithme de signature (généralement rsa-sha256).
  • h= - Les en-têtes du message inclus dans la signature.
  • b= - La signature elle-même, encodée en base64.
  • bh= - Le hash du corps du message.

L'enregistrement DNS DKIM

La clé publique DKIM est publiée dans le DNS sous forme d'un enregistrement TXT. Son nom suit le format :

[sélecteur]._domainkey.votre-domaine.fr

Par exemple, si votre sélecteur est google, l'enregistrement sera :

google._domainkey.votre-domaine.fr  TXT  "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBA..."

Les champs de la valeur :

  • v=DKIM1 - Version du protocole DKIM.
  • k=rsa - Type de clé (RSA est le standard).
  • p= - La clé publique encodée en base64. Si ce champ est vide (p=), cela signifie que la clé a été révoquée.

Vérifiez votre DKIM

Notre diagnostic vérifie automatiquement si DKIM est configuré et valide pour votre domaine.

Entrez un nom de domaine valide (ex : monentreprise.fr)

Activer DKIM selon votre fournisseur email

Google Workspace

  1. Connectez-vous à la console d'administration Google (admin.google.com).
  2. Allez dans Applications > Google Workspace > Gmail > Authentifier les emails.
  3. Sélectionnez votre domaine et cliquez sur "Générer un nouvel enregistrement".
  4. Choisissez la longueur de clé : 2048 bits (recommandé) ou 1024 bits.
  5. Google vous fournit un enregistrement TXT à ajouter dans votre DNS avec le sélecteur google.
  6. Ajoutez l'enregistrement dans votre DNS, attendez la propagation, puis revenez dans la console Google et cliquez sur "Démarrer l'authentification".

Microsoft 365

Microsoft 365 configure DKIM automatiquement pour les domaines utilisant les serveurs mail Microsoft. Cependant, la signature utilise par défaut le domaine onmicrosoft.com. Pour signer avec votre propre domaine :

  1. Connectez-vous au portail Microsoft Defender.
  2. Allez dans Stratégies > Règles de menace > Email authentification > DKIM.
  3. Sélectionnez votre domaine et activez la signature DKIM.
  4. Microsoft vous fournit deux enregistrements CNAME à ajouter dans votre DNS :
selector1._domainkey  CNAME  selector1-votre-domaine-fr._domainkey.votre-tenant.onmicrosoft.com
selector2._domainkey  CNAME  selector2-votre-domaine-fr._domainkey.votre-tenant.onmicrosoft.com

OVH

OVH active DKIM automatiquement pour les comptes email hébergés chez eux. Pour vérifier ou l'activer manuellement :

  1. Connectez-vous à l'espace client OVH.
  2. Allez dans Emails > votre domaine > DKIM.
  3. Si DKIM n'est pas actif, cliquez sur "Activer".
  4. OVH crée automatiquement l'enregistrement DNS nécessaire dans votre zone DNS OVH.

Autres hébergeurs

Pour Gandi, Infomaniak, o2switch et la plupart des hébergeurs français, la procédure est similaire : cherchez l'option DKIM dans la section Email de votre interface d'administration. Si votre hébergeur ne propose pas de gestion DKIM intégrée, vous devrez générer les clés manuellement et les ajouter dans votre DNS.

Générer des clés DKIM manuellement

Si votre hébergeur ne gère pas DKIM automatiquement, vous pouvez générer les clés avec OpenSSL :

# Générer une clé privée RSA de 2048 bits
openssl genrsa -out dkim_private.pem 2048

# Extraire la clé publique
openssl rsa -in dkim_private.pem -pubout -out dkim_public.pem

La clé privée doit être installée sur votre serveur mail (dans la configuration d'OpenDKIM, par exemple). La clé publique doit être publiée dans votre DNS, dans un enregistrement TXT au format v=DKIM1; k=rsa; p=[clé publique en base64 sans les en-têtes].

La configuration DKIM vous semble complexe ? On génère les clés, on publie l'enregistrement et on vérifie tout - SPF + DKIM + DMARC en 48h.
On s'en occupe →

Bonnes pratiques DKIM

  • Utilisez des clés de 2048 bits - Les clés de 1024 bits sont encore acceptées mais considérées comme de plus en plus faibles. Les clés de 2048 bits offrent une sécurité bien supérieure.
  • Effectuez une rotation régulière des clés - Changez vos clés DKIM au moins une fois par an. Utilisez un nouveau sélecteur à chaque rotation pour éviter les problèmes de cache DNS.
  • Un sélecteur par service - Si vous utilisez plusieurs services d'envoi (Google Workspace, Mailjet, Sendinblue), chaque service doit avoir son propre sélecteur et sa propre paire de clés.
  • Ne partagez jamais la clé privée - La clé privée ne doit être accessible qu'au serveur qui signe les emails. Ne l'envoyez jamais par email et ne la stockez pas dans un dépôt de code public.
  • Signez les en-têtes importants - Assurez-vous que la signature inclut au minimum les en-têtes From, To, Subject et Date.

Erreurs courantes DKIM

  • Clé publique tronquée dans le DNS - Les clés de 2048 bits sont longues et certains interfaces DNS les tronquent. Vérifiez que la clé complète est bien publiée.
  • Mauvais sélecteur - Le sélecteur utilisé dans la signature doit correspondre exactement à celui de l'enregistrement DNS. Vérifiez la casse et l'orthographe.
  • Propagation DNS incomplète - Après avoir ajouté l'enregistrement, attendez au moins 24 heures avant de diagnostiquer un problème. Certains serveurs DNS mettent du temps à propager les changements.
  • Modification du message en transit - Si un serveur intermédiaire (relais, antivirus, liste de diffusion) modifie le corps du message après la signature, DKIM échouera. Utilisez la canonicalisation relaxed pour tolérer les modifications mineures.

Vérifier que DKIM fonctionne

Après la configuration, envoyez un email de test vers une adresse Gmail. Ouvrez le message, cliquez sur les trois points, puis "Afficher l'original". Cherchez la ligne :

DKIM: 'PASS' with domain votre-domaine.fr

Si vous voyez PASS, votre DKIM est correctement configuré. Si vous voyez FAIL ou NONE, revérifiez votre enregistrement DNS et la configuration de votre serveur mail.

Besoin d'aide avec DKIM ?

DKIM est le protocole le plus technique des trois à configurer, surtout si votre hébergeur ne propose pas d'activation automatique. Notre équipe peut prendre en charge la configuration complète - génération des clés, publication DNS, vérification - en moins de 48 heures.

Pas le temps de configurer tout ça ?

On configure SPF, DKIM et DMARC sur votre domaine. Vous n'avez rien à faire.

49€ HT
Par domaine · Configuration complète · Résultat garanti · Sous 48h
On s'en occupe →