Mise en place d’une clé DKIM sur serveur Exim4

La clé DKIM est une chaine de caractères générée par le serveur de messagerie sortant de votre domaine qui va permettre au serveur de messagerie de vos destinataires de vérifier que les e-mail reçu depuis votre domaine ont bien été envoyés depuis votre serveur

Ici je vous indique comment mettre en place une clé DKIM sur votre domaine .

Prérequis :

  • Debian > 6
  • Exim 4
  • Un nom de domaine

Installer exim4 :

apt-get install exim4

Configurer exim4 :

dpkg-reconfigure exim4-config

General type of mail configuration: internet site; mail is sent and received directly using SMTP
System mail name : domaine.tld
IP-addresses to listen on for incoming SMTP connections: localhost
Other destinations for which mail is accepted: laisser vide
Domains to relay mail for: laisser vide
Machines to relay mail for: laisser vide
Keep number of DNS-queries minimal (Dial-on-Demand)? No
Delivery method for local mail: mbox format in /var/mail/
Split configuration into small files? No
Root and Postmaser recipient : laisser vide

Faire un test avec la commande mail :
mail mail@test.tld

Spécifier le sendfrom dans php.ini :

mail.force_extra_parameters = -fcompte@domaine.tld

Création de la clé DKIM sur le serveur :

cd /etc/exim4/
openssl genrsa -out dkim.selector.key 1024
openssl rsa -in dkim.selector.key -out dkim.selector.pub -pubout -outform PEM
nano /etc/exim4/exim4.conf.template

DKIM_CANON = relaxed
DKIM_SELECTOR = selector
DKIM_PRIVATE_KEY = /etc/exim4/dkim.selector.key
DKIM_DOMAIN = ${lc:${domain:$h_from:}}

Mise en place dans la zone DNS

Maintenant que le serveur signe vos messages avec la clé DKIM, il faut ajouter cette dernière dans la zone DNS du domaine, sous forme d’un enregistrement TXT .

  1. Récupérer la clé :
    cat /etc/exim4/dkim.selector.pub
  2. Créer l’enregistrement TXT pour la signature DKIM dans la zone DNS, sous cette forme :
    selector._domainkey.domaine.tld    IN TXT   « v=DKIM1;p=contenu_de_cat »
  3. Ajouter l’ip du serveur à l’enregistrement SPF, ou créer l’enregistrement SPF correspondant :
    .domaine.tld    IN TXT   « v=spf1 ptr ip4:ip.du.serveur.smtp »