Votre site dispose de fonctionnalités nécessitant de pouvoir envoyer des mails : notifications de formulaires, newsletters, système de mot de passe oublié, etc.
Si l’envoi des mails est correctement configuré (voir cet article et celui-ci) alors ceux-ci sont bien émis. Mais sont-ils bien reçus ?
La réception des mails repose en effet sur plusieurs mécanismes permettant de s’assurer qu’un mail n’est pas un spam/indésirable. Si le mail ne satisfait pas tous les critères de fiabilité, il peut alors être classé dans un dossier spam/indésirable, voir même être rejeté et ne pas arriver du tout dans la boîte mail du destinataire.
La délivrabilité des mails est plus que jamais d’actualité, car Google et Yahoo ont récemment affirmé leur action pour renforcer la lutte contre le spam, aussi ils vont désormais vérifier systématiquement les mécanismes d’authentification possibles des mails. Il devient essentiel de soigner la délivrabilité de ses mails afin qu’ils arrivent à bon port.
Cet article décrit ces principaux mécanismes et comment vérifier qu’ils sont bien mis en oeuvre.
Le SPF
Le Sender Policy Framework (SPF) est le mécanisme le plus ancien et le plus répandu. Il consiste à déclarer dans la configuration de son nom de domaine les serveurs autorisés à émettre des mails avec ce même nom de domaine.
Par exemple si mon adresse d’expéditeur est communication@mon-domaine.fr et mon serveur émetteur a pour IP 12.13.14.15, alors la configuration DNS de mon-domaine.fr doit doit comporter un enregistrement DNS spécifique qui autorise l’IP 12.13.14.15 à émettre des mails avec ce nom de domaine.
Lorsqu’un serveur de mail reçoit un mail émis de mon site, il vérifie la configuration du nom de domaine, si il trouve une configuration SPF il vérifie que l’IP émettrice est bien autorisée. Dans le cas contraire il applique sa politique de sécurité (classement spam, rejet…).
Le DKIM
Le DomainKeys Identified Mail (DKIM) est un mécanisme cryptographique permettant à la fois de s’assurer que le serveur émetteur est autorisé à utiliser un nom de domaine et que le mail reçu n’a pas été alteré en chemin.
Le principe est d’avoir un couple clé privée/clé publique, la clé privée étant sur le serveur émetteur et la clé publique étant déclarée dans la configuration du nom de domaine.
Lorsque le serveur hébergeant mon site émet un mail, il fait un calcul cryptographique avec le contenu du mail et ajoute une valeur cryptée au mail expédié.
Le serveur mail destinataire récupère cette valeur cryptée dans le mail reçu et effectue un calcul de vérification avec le contenu du mail et la clé publique déclarée dans la configuration du nom de domaine. Si les résultats ne concordent pas il applique sa politique de sécurité (classement spam, rejet…).
Le DMARC
Le Domain-based Message Authentication, Reporting, and Conformance (DMARC) est un mécanisme permettant à un nom de domaine expéditeur de spécifier aux destinataires quels mécanismes d’authentification il utilise (SPF, DKIM) et que faire s’ils reçoivent un mail échouant la vérification de ces mécanismes.
C’est une configuration déclarée au niveau du nom de domaine expéditeur. Elle indique par exemple qu’un mail ne réussissant pas l’authentification doit être mis en quarantaine, ou être rejeté, ou bien être accepté… Et à quelle adresse mail envoyer un rapport en cas de problème.
Le gestionnaire d’un nom de domaine expéditeur peut alors définir une politique unifiée pour tous les destinataires (plutôt que chaque service mail destinataire gère sa propre politique) et avoir un suivi précis des problèmes rencontrés lors de l’émission des mails.
L’antispam
L’antispam est une solution indépendante des mécanismes précédemment décrits. C’est classiquement une solution tierce qui vient se greffer à un service mail et dispose de règles spécifiques et modulable pour trier les mails. Il peut aussi s’agir de règles internes au service mail lui-même.
Cette solution est gérée intégralement par le service mail destinataire et l’émetteur n’a pas d’emprise dessus. En cas de problème de réception dû à l’antispam c’est le destinataire qui doit chercher d’où vient le problème et éventuellement adapter ses règles d’antispam.
Exemple : un service mail Office365 exploitant le domaine mon-domaine.fr reçoit un mail légitime en provenance de votre site web, avec une adresse d’expéditeur utilisant ce même domaine, SPF, DKIM et DMARC étant correctement configurés.
Le service mail Office365 peut rejeter à tort ce mail en considèrant être le seul à pouvoir émettre avec ce domaine. Le gestionnaire de ce service mail doit ici modifier la configuration de son service/de son antispam afin d’accepter ces mails.
Mise en oeuvre
Vous l’aurez compris, la mise en oeuvre de ces mesures dépend de plusieurs intervenants :
- le gestionnaire de votre nom de domaine, pour la mise en place des différentes configuration
- le gestionnaire de l’hébergement de votre site, qui indique la ou les IP utilisées et met en oeuvre la signature DKIM
- le gestionnaire de votre service mail, qui définit la politique DMARC à utiliser et gère l’antispam
Vérification
La méthode la plus simple pour vérifier les mécanismes ci-dessus est de consulter un mail dans Gmail et d’afficher le message original (disponible dans les actions possible sur le mail). Vous verrez alors un récapitulatif des différent mécanismes :

Si les règles sont en « PASS » c’est que tout est ok, dans le cas contraire il faut étudier le problème remonté pour pouvoir le résoudre.
Une autre façon de faire est d’étudier directement les entêtes du mail. On y retrouve si tout va bien ces notions spf=pass, dkim=pass et dmarc=pass.
Le mail émis n’est pas du tout reçu ? D’abord vérifier qu’il n’y pas d’erreur au niveau de l’émission, puis vérifier si cela fonctionne sur un autre domaine destinataire et enfin se rapprocher du gestionnaire de ce service mail destinataire pour trouver la raison du blocage.
Une question, une remarque ?
N’hésitez pas à joindre votre service d’assistance à l’adresse assistance@inovagora.net.