En résumé

Problème : les e-mails sortants non authentifiés risquent d’être classés spam ou usurpés, ce qui dégrade la délivrabilité et la réputation du domaine.
Solution : installer et configurer OpenDKIM avec Postfix : génération des clés DKIM, publication DNS de la clé publique, liaison milter et vérification.
Temps de lecture : 10 min

🎯 Introduction (accroche SEO)

Optimisez la délivrabilité de vos e-mails avec DKIM et OpenDKIM pour Postfix.

Les e-mails sont un pilier de la communication moderne, mais comment s’assurer qu’ils arrivent bien à destination et qu’ils ne sont pas usurpés ? La réponse réside en partie dans la mise en place de DKIM (DomainKeys Identified Mail). Ce tutoriel vous guidera pas à pas pour installer et configurer OpenDKIM avec Postfix sur votre serveur.

Pourquoi DKIM est-il essentiel pour vos e-mails ?

DKIM est une méthode d’authentification des e-mails qui permet aux serveurs de messagerie de vérifier que les messages proviennent bien du domaine d’où ils prétendent venir et qu’ils n’ont pas été altérés en transit. En d’autres termes, il ajoute une signature cryptographique à vos e-mails sortants.

Voici pourquoi c’est crucial :

1. Les prérequis

Avant de commencer, assurez-vous que votre environnement est prêt :

2. Installation d’OpenDKIM

Commençons par installer les paquets nécessaires :

sudo apt update
sudo apt install opendkim opendkim-tools

Ensuite, il est crucial d’ajouter l’utilisateur postfix au groupe opendkim pour qu’il puisse communiquer avec le socket du milter (un filtre de messagerie).

sudo usermod -aG opendkim postfix

3. Configuration d’OpenDKIM

Nous allons modifier le fichier de configuration principal d’OpenDKIM.

Modifier /etc/opendkim.conf

Ouvrez le fichier avec votre éditeur de texte préféré (par exemple, nano ou vim) :

sudo nano /etc/opendkim.conf

Ajoutez ou modifiez les lignes suivantes :

AutoRestart Yes
AutoRestartRate 10/1h
Syslog Yes
SyslogSuccess Yes
LogWhy Yes

Canonicalization relaxed/simple
Mode sv
SignatureAlgorithm rsa-sha256

KeyTable refile:/etc/opendkim/KeyTable
SigningTable refile:/etc/opendkim/SigningTable
ExternalIgnoreList refile:/etc/opendkim/TrustedHosts
InternalHosts refile:/etc/opendkim/TrustedHosts

Socket inet:8891@localhost

Ces lignes définissent le comportement d’OpenDKIM, les tables de clés et de signature, les hôtes de confiance, et l’adresse du socket pour la communication.

Vérifier /etc/default/opendkim

Assurez-vous que le socket est correctement défini dans ce fichier. Ouvrez-le :

sudo nano /etc/default/opendkim

La ligne concernant le socket devrait ressembler à ceci :

SOCKET="inet:8891@localhost"

4. Création des fichiers de configuration

Nous allons maintenant créer les fichiers qui listent les hôtes de confiance, les clés et les domaines à signer.

TrustedHosts (/etc/opendkim/TrustedHosts)

Ce fichier contient la liste des hôtes dont les messages ne doivent pas être signés, ou qui sont autorisés à envoyer des messages sans signature.

sudo nano /etc/opendkim/TrustedHosts

Ajoutez les lignes suivantes, en remplaçant les exemples par votre propre FQDN et nom de domaine :

127.0.0.1
localhost
srv-b.democrasite.com # Remplacez par votre FQDN
democrasite.com # Remplacez par votre domaine principal
kameleon.fr # Ajoutez tout autre domaine pertinent

KeyTable (/etc/opendkim/KeyTable)

Ce fichier associe les sélecteurs DKIM à leurs clés privées.

sudo nano /etc/opendkim/KeyTable

Ajoutez la ligne suivante, en remplaçant democrasite.com par votre domaine :

default._domainkey.democrasite.com democrasite.com:default:/etc/opendkim/keys/democrasite.com/default.private

SigningTable (/etc/opendkim/SigningTable)

Ce fichier définit quels domaines seront signés par quelle clé.

sudo nano /etc/opendkim/SigningTable

Ajoutez la ligne suivante :

*@democrasite.com default._domainkey.democrasite.com

Cette ligne signifie que tous les e-mails provenant de n’importe quel utilisateur de democrasite.com seront signés avec la clé default._domainkey.democrasite.com.

5. Génération des clés DKIM

Maintenant, nous allons générer la paire de clés publique/privée qui sera utilisée pour signer vos e-mails.

sudo mkdir -p /etc/opendkim/keys/democrasite.com
cd /etc/opendkim/keys/democrasite.com
sudo opendkim-genkey -s default -d democrasite.com

Ensuite, nous devons définir les bonnes permissions pour la clé privée :

sudo chown opendkim:opendkim default.private
sudo chmod 600 default.private

6. Publication DNS de la clé publique

Votre clé publique doit être accessible aux serveurs de messagerie récepteurs pour qu’ils puissent vérifier la signature de vos e-mails.

Affichez le contenu de votre clé publique :

sudo cat /etc/opendkim/keys/democrasite.com/default.txt

Vous verrez une sortie similaire à celle-ci :

default._domainkey IN TXT "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDj3eW... (votre clé publique)"

Vous devez créer un enregistrement TXT dans la zone DNS de votre domaine (via l’interface de votre hébergeur DNS, par exemple OVH, Cloudflare, etc.).

Exemple OVH :

Type : TXT Sous-domaine : default._domainkey Cible : "v=DKIM1; k=rsa; p=MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDj3eW... (votre clé publique)"

7. Liaison entre OpenDKIM et Postfix

Pour que Postfix utilise OpenDKIM pour signer vos e-mails, vous devez le configurer comme un milter.

Ajoutez ces lignes à la fin de votre fichier /etc/postfix/main.cf :

sudo nano /etc/postfix/main.cf
milter_protocol = 2
milter_default_action = accept
smtpd_milters = inet:localhost:8891
non_smtpd_milters = $smtpd_milters

Enfin, redémarrez les services OpenDKIM et Postfix pour que les changements prennent effet :

sudo systemctl restart opendkim postfix

8. Vérification et tests

La propagation DNS peut prendre de 4 à 24 heures. Une fois ce délai passé, vous pouvez vérifier votre configuration.

  1. Envoyez un e-mail depuis une adresse de votre domaine (@democrasite.com) vers un service comme Gmail ou Outlook.
  2. Vérifiez les en-têtes de l’e-mail reçu. Vous devriez y trouver une ligne DKIM-Signature:.
  3. Utilisez des outils en ligne :
    • mail-tester.com : Envoyez un e-mail à l’adresse fournie par le site. Le rapport vous indiquera si DKIM est validé (dkim=pass).
    • opendkim-testkey : Vous pouvez aussi tester directement la clé avec cet outil (à exécuter sur votre serveur) :
opendkim-testkey -d democrasite.com -s default -vvv

Si tout est correctement configuré, vous devriez voir un résultat positif.

✅ Résultat final

En suivant ce guide, vous aurez considérablement renforcé la fiabilité et la sécurité de l’envoi d’e-mails depuis votre serveur. La délivrabilité de vos messages s’en trouvera grandement améliorée, réduisant ainsi le risque qu’ils soient classés comme spam.

Avant Après
E-mails sortants non signés, risque de spam et d’usurpation E-mails signés DKIM, authentification vérifiable par les serveurs récepteurs

⚠️ Points d’attention

Et après ?

journalctl -u opendkim
tail -f /var/log/mail.log

📚 Ressources complémentaires

💬 Ton avis ?

Ce tutoriel t’a aidé à mettre en place DKIM sur ton serveur mail ? Tu veux un article dédié à un autre pilier de la délivrabilité (SPF, DMARC, DANE) ? Laisse un commentaire, je réponds !

📚 Dans la même série

Postfix et ses amis — Article 2 sur 2

Postfix : Installer et configurer DKIM avec OpenDKIM 👈 (tu es ici)

⬅️ Précédent : Postfix .conf exemple, srv-hosting config File – reformat

➡️ Suivant : (dernier article de la série)

Tous les articles de la série

  1. Postfix .conf exemple, srv-hosting config File – reformat
  2. Postfix : Installer et configurer DKIM avec OpenDKIM 👈 (tu es ici)

Publié le 21 août 2026 — Mis à jour le 21 août 2026

🔗 Articles liés

Article rédigé par Nabil & Jarvis — V.001