Dans ce tutoriel je vous propose de découvrir comment configurer vos DNS pour que vos emails évitent de passer directement dans les spams. Pour cela on va avoir besoin de configurer 2 choses : le DKIM et le SPF
SPF
SPF (Sender Policy Framework) : est une norme qui permet d'identifier les serveurs qui sont autorisés à envoyer des emails pour un nom de domaine donné (enregistrement au sein des DNS). Cet enregistrement permet de définir les ips autorisées à envoyer des emails avec votre domaine. Par exemple si on envoit les email depuis le server avec l'ip 210.27.42.3 il faudra configurer l'enregistrement DNS suivant
v=spf1 a mx ip4:210.27.42.3 ~all
- a indique les noms de domaines autorisé à envoyer les emails de ce domaine (vide = domaine en cours)
- mx permet d'indiquer les serveurs mx autorisés à envoyer les emails de ce domaine (vide = domaine en cours)
- ip4 permet de préciser les ip (format v4) autorisé à envoyer les emails de ce domaine
-
include peut être utilisé pour copier le spf d'un autre domaine (par exemple include:un_autre_domaine.fr)
DKIM
DKIM ( DomainKeys Identified Mail) : est une norme d'authentification fiable du nom de domaine de l'expéditeur d'un courrier électronique.
Le message doit posséder une signature valide et le champ d=, domaine, de la signature validée doit correspondre au domaine de l'expéditeur du message (champ From:) (correspondance exacte pour un alignement strict, ou doit être un sous domaine pour un alignement restreint). Pour utiliser ce type d'authentification il faut commencer par générer un couple clef privée / clef publque.
openssl genrsa -out dkim.private.key 1024
openssl rsa -in dkim.private.key -out dkim.public.key -pubout -outform PEM
Une fois ces clefs obtenues on va pouvoir configurer notre DNS en copiant la clef publique sur un prefix particulier, ici on choisira default mais vous pouvez choisir ce que vous voulez.
// dans default._domainkey.domain.fr
v=DKIM1; k=rsa; p=7VD3BK2kM4as...
Maintenant on va devoir signer les emails qu'on envoit avec la clef privée. A ce niveau là pas de secret ça va dépendre du language / librairie utilisée.