New Slang - Création de Site Internet Artisanale

Le guide complet pour que les e-mails envoyés depuis votre site ne finissent pas dans les SPAMS

Le guide complet pour que les e-mails envoyés depuis votre site ne finissent pas dans les SPAMS

Si vous avez un site Internet, il est fort possible que celui-ci envoie des e-mails à vos visiteurs, clients, membres, etc. d’une manière ou d’une autre. Qu’il s’agisse d’e-mails de confirmation de commande pour un site e-commerce, de réinitialisation de mot de passe ou encore d’automatisations marketing.

Et pour que ce processus soit vraiment efficace et professionnel, il faut bien sûr que chaque e-mail arrive dans la boîte de réception du destinataire. Et tout ça sans passer par la case courrier indésirable.

Alors, comment faire pour que les e-mails de votre site ne terminent pas dans les SPAMS ?

Il faut s’assurer que les réglages SMTP de votre site Internet utilisent bien des données de connexion autorisées à envoyer des e-mails au nom du serveur. Il faut également mettre en place les validations SPF, DKIM et même DMARC sur votre nom de domaine pour que toutes ces validations assurent aux filtres antispam que vos e-mails soient valides.

Mais avant de foncer tête baissée, je pense qu’il est important de revenir à la base : comment est-ce que l’envoi de mail fonctionne ? Comment identifier les problèmes d’e-mails ? Comment tester le degré de « spamitude » de vos e-mails et l’améliorer ?

Tout ça et bien plus dans cet article détaillé !

Que se passe-t-il à l’envoi d’un e-mail ?

Que vous envoyiez votre e-mail depuis votre outil de messagerie, Outlook, Gmail, Apple Mail, etc. ou que l’e-mail soit généré depuis votre site Internet pour ensuite être envoyé, le processus est le même.

Découvrons ensemble, ce qu’il se passe exactement durant ce processus :

1. Envoi par le serveur SMTP

Envoi d'e-mail - Infrastructure expéditeur

L’e-mail va passer par un serveur SMTP, pour Simple Mail Transfer Protocole, en français protocole de transfert de courrier simple. Ce serveur peut être configuré de plusieurs manières différentes :

  1. Soit sur votre outil de messagerie (Outlook, Apple Mail, etc.), ou intégré à votre outil de webmail. Par exemple, si vous vous connectez à Gmail, l’envoi utilisera les serveurs SMTP de Google.
  2. Soit directement sur votre site Internet grâce à des réglages que vous aurez faits vous-mêmes et qui définiront quel serveur SMTP s’occupe de l’envoi.
  3. Ou, toujours sur votre site Internet, sans configuration particulière. Dans ce cas, le serveur sur lequel votre site se trouve va envoyer votre mail avec ses propres réglages SMTP.

2. Formatage de l’e-mail

Par le protocole SMTP, l’e-mail va ensuite être transformé dans un format lisible pour les autres serveurs SMTP. Et de cette transformation vont ressortir 2 choses :

  1. Les en-têtes de l’e-mail, qui définiront :
    • L’expéditeur
    • Le type de contenu (texte, HTML, ou les deux)
    • Le sujet de l’e-mail
    • Le détail des types de pièces jointes transmises (JPG, PDF, etc.)
    • Et une batterie d’autres petites informations sur votre e-mail
  2. Le contenu de l’e-mail, c’est-à-dire le corps du mail ainsi que ses pièces jointes

3. Transfert au MTA

MTA - Serveur d'envoi

Le serveur SMTP passe alors le relais à un serveur MTA, pour Mail Transfer Agent, qui s’occupe de l’envoi. Le MTA va commencer par faire un premier contrôle de votre e-mail, avant de valider son envoi. Il va notamment vérifier :

  1. Le poids de votre e-mail.
    Si celui-ci dépasse la limite d’envoi autorisée par le serveur, vous recevrez un message vous indiquant que le mail ne peut pas être envoyé.
  2. Contrôle antispam.
    Un contrôle de SPAM préliminaire est effectué également, ce contrôle peut varier largement en fonction de la configuration du serveur MTA. Il pourrait ne pas autoriser votre mail en fonction de son contenu : envoi d’un fichier.exe, d’un malware ou cheval de Troie connue, d’une URL douteuse, etc.
  3. Contrôle du domaine du destinataire.
    Est-ce que le domaine de votre destinataire existe ? Si par exemple vous écrivez à jean@louis.com, le MTA va demander à un serveur DNS si le domaine louis.com existe bien.

    Si ce n’est pas le cas, il va renvoyer une erreur.

    Si le domaine existe, le serveur MTA va également aller rechercher l’enregistrement MX dans les DNS du domaine pour connaître le serveur de destination à contacter pour transmettre l’e-mail.

4. Envoi de l’e-mail

Première étape faite, vous e-mail a quitté votre serveur de mail et il est en route. Saucissonné en plusieurs petits paquets pour être transmis au destinataire, puis recomposé par le serveur de destination.

5. Arrivée sur le serveur du destinataire

Envoi d'e-mail - Serveur MTA de réception

Les contrôles continuent. Cette fois, c’est au tour du MTA du destinataire de faire son travail. Il va notamment :

  1. Contrôler une nouvelle fois la taille de l’e-mail.
    Cette fois, par rapport à ses propres directives sur le sujet, qui peuvent très bien être différentes de votre serveur d’envoi. En cas de problème, le message est renvoyé avec une erreur.
  2. Nouveau contrôle antispam.
    Le filtre antispam fait son travail également en vérifiant le contenu du mail avec des termes connus, le format et contenu des pièces jointes et l’adresse de l’expéditeur.

    Si celui-ci est sur une liste noire, il peut très bien se voir refusé.

    Si votre mail est considéré comme du SPAM, le filtre antispam va soit accepter le mail, mais le marquer comme SPAM en indiquant cette information dans l’en-tête du mail, soit le rejeter tout simplement, cela dépendra de sa configuration.
  3. Enregistrement de l’e-mail s’il n’est pas rejeté.
    Si le MTA autorise l’e-mail, qu’il soit marqué comme SPAM ou non, celui-ci sera alors enregistré sur le serveur et disponible pour consultation.

Et voilà pour le processus de base de l’envoi de mail. Vous voyez donc qu’il est déjà possible qu’un e-mail soit bien parti de votre site en direction de votre destinataire, mais que celui-ci n’y ait pas accès du tout car son serveur l’aura rejeté avant même de lui donner la possibilité de le lire.

Et, plus que le fait d’être marqué comme SPAM, cette situation est plutôt complexe à gérer. Et nous verrons plus loin comment l’éviter autant que possible !

Pourquoi l’envoi de mail depuis un site web peut poser des problèmes ?

L’authentification SMTP pour envoyer des e-mails

Pour consulter vos e-mails, vous devrez définir des paramètres de réception pour accéder à ceux-ci, en précisant les serveurs que vous utilisez (Microsoft, Google, ou votre propre domaine) et un nom d’utilisateur et un mot de passe.

C’est tout à fait logique : ces données sont confidentielles, il n’y a pas de raison que n’importe qui puisse accéder à vos e-mails sans vos données de connexion.

Et pour l’envoi d’e-mail, le principe est le même : il n’est pas logique que quelqu’un d’autre puisse envoyer des e-mails en votre nom !

Lorsque vous envoyez des e-mails à partir d’Outlook, d’Apple Mail, de votre smartphone ou autre, vous devez en général donner des paramètres d’envoi.

Soit cela se fait automatiquement par l’application, soit vous devrez les spécifier manuellement.

Mais il est toujours nécessaire de bien définir un serveur d’envoi et de lui donner une adresse e-mail et un mot de passe autorisé à utiliser le serveur.

C’est pourquoi si vous envoyez un mail depuis Gmail ou votre Outlook correctement configuré, il y a peu de chance de finir dans les SPAMS.

Vous envoyez des e-mails en vous identifiant à un serveur que vous êtes autorisé à utiliser pour envoyer des mails, rien de suspect pour un filtre antispam.

Enfin, il peut avoir quelques doutes, mais j’y reviendrai. Et cette première étape est importante !

Les réglages par défaut du serveur de votre site web

Par contre, au moment d’envoyer des e-mails à partir d’un site web, il y a de bonnes chances que l’envoi automatique se fasse par une fonction PHP appelée simplement mail().

Du moins, la plupart des CMS comme WordPress ou Prestashop effectuent, par défaut, les envois à partir de cette fonction PHP.

Et sans autres réglages de votre part, cette fonction est configurée par l’hébergeur

En gros, le serveur sur lequel vous vous trouvez envoi le mail au nom d’un domaine qui n’est pas nécessairement celui du serveur.

Et là, le MTA de votre destinataire a déjà plus de raison de vous considérer comme suspect.

Pour clarifier, si on jette un œil à la FAQ d’Infomaniak, ils précisent bien au sujet du support de la fonction mail() de PHP :

IMPORTANT : il est nettement préférable d’employer une configuration SMTP authentifiée (spécifiez une adresse e-mail et son mot de passe) pour l’envoi de vos messages depuis un site, ceci afin de garantir une meilleure déliverabilité de vos messages.

Infomaniak

Il est clair que l’hébergeur ne conseille pas d’utiliser les réglages par défaut, tout simplement, car ils ne sont pas faits pour être fiables à 100%.

Donc si vous installez un CMS et que vous le laissez s’occuper de l’envoi des mails, il le fera avec les réglages par défaut et sans authentification.

Et dans certains cas, l’e-mail va bien partir et le destinataire va bien le recevoir. 

Mais en fonction des réglages SMTP par défaut du serveur, de ses limitations, mais surtout du filtre antispam du destinataire, des validations du domaine, etc. tout ça peut ne pas fonctionner du tout.

C’est pourquoi il est important de bien spécifier des paramètres SMTP, en s’authentifiant au serveur avec une adresse autorisée, pour s’assurer qu’il soit bien capable d’envoyer des e-mails.

Définir soi-même les réglages SMTP

Quel que soit votre site, si vos e-mails ne partent pas, il y a des chances que vous deviez spécifier des réglages SMTP spécifiques.

Non seulement ça, mais si vous envoyez des e-mails à partir d’une adresse info@mondomaine.com il est important de bien passer par le serveur SMTP qui envoie des e-mails au nom de mondomaine.com.

C’est-à-dire que si vous avez un hébergement mail au nom du domaine mondomaine.com, vous devriez connaître ces réglages SMTP et les appliquer.

Cela veut dire que vous allez envoyer vos e-mails à partir d’un serveur autorisé à envoyer des e-mails au nom de mondomaine.com avec une adresse enregistrée sur ce même nom de domaine.

Le serveur de destination n’aura pas de raison de douter de votre bonne foi !

Identifier d’où vient le problème

Le mail ne part pas du tout

Il est possible que le mail que vous tentez d’envoyer ne parte pas du tout et dans ce cas, les causes peuvent être nombreuses. Si on résume, cela peut venir notamment :

1. D’un bug dans le code destiné à envoyer l’e-mail

Et oui, ce n’est pas nécessairement un problème de paramètres qui peut empêcher les e-mails de s’envoyer, en cas de bug, le système n’essaiera peut-être tout simplement pas de l’envoyer.

Si vous n’avez pas de moyen de vérifier ça, vous pouvez tenter des envois, depuis votre site, vers différents destinataires. Chaque serveur de mail a ses propres directives et si vous tentez d’envoyer un e-mail à Gmail, Hotmail ou tartampion.com il y a des chances que l’un des serveurs le laisse passer.

Mais le plus simple est en général de pouvoir journaliser les e-mails envoyés de votre site pour savoir s’ils partent ou non.

Si lors de l’opération de l’envoi d’e-mail, une erreur PHP ou autre ressort ou que l’envoi du mail n’est pas journalisé : alors le problème vient du code.

2. De réglages SMTP invalides

Deuxième chose, les réglages SMTP sont invalides, incomplets ou le serveur n’autorise pas d’envoi sans spécifier des réglages SMTP précis. C’est ce que j’évoquais tout à l’heure, il vous faut trouver un moyen de configurer les réglages SMTP.

Prestashop vous permet de le faire dans le menu Paramètres avancés > Emails et WordPress avec des extensions comme WP Mail SMTP ou Post SMTP Mailer.

L’extension ci-dessus est gratuite et en plus de vous permettre de définir les paramètres SMTP, vous pourrez également journaliser les envois d’e-mails, tel que je le mentionne dans le point précédent.

D’autres outils comme Drupal, Joomla, OpenCart, Magento, etc. ont également certainement leurs propres fonctionnalités pour ça.

En cas de problème, n’hésitez pas à contacter votre hébergeur pour lui demander de l’aide, demander quelle configuration entrer, s’il est possible de changer la configuration pour votre site Internet, etc.

Dans tous les cas, définir des réglages SMTP corrects pour faire partir les e-mails d’un serveur web autorisé qui correspond au domaine de votre adresse e-mail d’envoi est très important pour qu’un e-mail parte et ne soit pas marqué comme SPAM.

Le mail s’envoie mais est rejeté ou termine dans les SPAMS

Si le mail est parti mais est marqué comme SPAM par le serveur du destinataire, là pas de surprise, il faut faire des tests.

Si l’e-mail arrive bien sur votre propre adresse lors de vos tests, vous mais pas chez votre destinataire, il faut idéalement le contacter et voir avec lui s’il se trouve dans les SPAMS (ce qui veut dire que vous y êtes presque) ou s’il ne le voit pas du tout.

En cas de deuxième réponse, comme vous savez que l’e-mail part et que vous parvenez à le recevoir, vous savez que son serveur mail rejette votre mail le considérant comme un gros SPAM bien juteux.

Et pour pouvoir vérifier toutes ces choses avec exactitude, je vous conseille d’utiliser un service de test d’e-mail plutôt que d’essayer de l’envoyer à 15 adresses e-mail différentes.

Déjà vous saurez plus vite si votre e-mail est bien parti du serveur et vous serez s’il est potentiellement de bonne qualité ou indésirable.

Tester les envois d’e-mail de votre site comme un pro

Pour vos tests, il existe de nombreux sites web qui feront très bien l’affaire.

Personnellement, j’en utilise un depuis des années car il est très fonctionnel et j’apprécie particulièrement pour son style très sympa :

En se rendant sur le site, il vous donne une adresse e-mail de test, par exemple test-6w2ywi257@srv1.mail-tester.com. Vous n’avez qu’à définir cette adresse comme adresse de destinataire sur votre site et faire un test d’envoi.

Attention : Le service est top, mais gratuitement il ne donne droit qu’à un nombre limité de tests. Lors de mes derniers tests, il se limitait à 5 essais. À voir si c’est toujours le cas, mais soyez-y attentif !

Une fois l’envoi réalisé, cliquez sur Vérifier votre score. Là le système va attendre un peu s’il n’a pas encore reçu le mail.

S’il attend vraiment très longtemps, ça veut certainement dire que vos e-mails ne décollent même pas de votre serveur. Il faut commencer par vérifier ça !

Ensuite si le système reçoit bien le mail il donnera à votre e-mail un score sur 10. Pour en savoir plus sur le déroulement du test, je vous conseille soit :

  • De regarder ma vidéo en haut de cet article, où je vous donne plusieurs exemples à partir de 12:40
  • De faire le test vous-même et de voir les retours de mail-tester. En général, leurs réponses sont très bien documentées.

Mais dans beaucoup de cas, au-delà du contenu même des e-mails, du fait d’apparaître sur une liste noire ou encore d’envoyer des pièces jointes qui ne font pas plaisir au test antispam, le gros des réglages se fera en vérifiant les authentifications SPF, DKIM et DMARC.

Mais qu’est-ce que c’est que ce charabia ?

Les authentifications SPF, DKIM et DMARC

Vous commencez peut-être à en avoir ras la patate de mes explications techniques, mais accrochez-vous car il y en a un peu plus qui arrive.

Avant de commencer, si le but de ces systèmes et leur fonctionnement ne vous intéressent pas, vous pouvez trouver pleins de tutoriaux sur Internet pour les mettre en place correctement.

Dans le doute, il y a de bonnes chances que votre hébergeur ou fournisseur de nom de domaine, car c’est au niveau du nom de domaine que ces réglages se feront, vous donnera des infos pour faire cette configuration au mieux.

Dans les 3 cas, il s’agira d’aller dans les réglages des DNS de votre nom de domaine et d’ajouter des enregistrements DNS.

Sachez qu’en termes d’importance, je vous conseille de commencer par SPF, puis DKIM et finalement DMARC qui à mon avis n’est pas absolument nécessaire actuellement, même si c’est un plus.

Voyons à quoi ils servent !

SPF pour Sender Policy Framework

La validation SPF est utilisée pour valider le serveur qui envoie les e-mails.

En gros, un enregistrement SPF va mentionner qui est autorisé à envoyer des e-mails en utilisant votre nom de domaine.

Et bien sûr, chez un hébergeur, il y a de grande chance pour que leur propre serveur SMTP ait été déjà ajouté en tant que serveur autorisé à envoyer des e-mails dans l’enregistrement SPF.

Comment fonctionne la validation SPF ?

Mais ce qui est top, c’est que si vous envoyez des mails avec un système de newsletter comme Mailerlite ou MailChimp, vous pouvez également autoriser ces serveurs à envoyer des e-mails en votre nom en les ajoutant à votre enregistrement SPF.

L’avantage est double :

  • Vos e-mails sont vérifiés par le MTA du serveur du destinataire.
    Il voit que votre serveur est autorisé à envoyer des e-mails au nom de votre domaine, il valide donc le mail en SPF. Ce qui va rajouter un maximum de confiance au filtre antispam du serveur du destinataire.
  • Les tiers auront du mal à envoyer des e-mails en votre nom.
    Il y a peu de chances qu’un site externe puisse passer les barrières antispam s’il tente d’envoyer des e-mails en votre nom depuis son propre serveur, non validé par votre enregistrement SPF. Cela évitera à votre domaine d’envoyer du SPAM en votre nom, et surtout, de finir blacklisté.

Aujourd’hui l’enregistrement SPF est devenu une norme et si vous n’en disposez pas, contactez votre hébergeur pour connaître la procédure à suivre pour le mettre en place, c’est impératif !

DKIM pour DomainKeys Identified Mail

Presque tout est dit !

L’idée de DKIM est de définir des clés de chiffrement spécifiques à votre nom de domaine.

En informatique et plus particulièrement en réseau, on utilise fréquemment des clés de chiffrement afin de valider un accès ou l’identité d’un tiers.

Lorsque vous utilisez DKIM, vous allez ajouter un enregistrement DNS à votre nom de domaine. Voici un exemple d’enregistrement DKIM.

On a une information indiquant qu’il s’agit d’un enregistrement DKIM et ensuite le paramètre p donne une clé publique unique. Cette clé peut être lue par le serveur qui recevra vos e-mails, mais elle est accessible à n’importe qui.

Cette clé est publique car seule elle n’a pas d’utilité.

Elle est en fait utilisée pour décrypter l’en-tête de l’e-mail envoyé par le serveur. Et oui, l’en-tête de chaque e-mail est automatiquement crypté à l’envoi à l’aide de cette clé.

Voici comment la validation se passe :

  1. Lorsqu’un e-mail arrive sur un serveur, celui-ci va regarder dans les DNS de votre domaine si une validation DKIM existe.
  2. Si c’est le cas, il va récupérer la clé publique à partir de ces DNS.
  3. Avec la clé publique en main, il va regarder l’en-tête de votre e-mail et tenter de la décrypter avec votre clé.
  4. Et là si le serveur ne parvient pas à décrypter l’en-tête, votre e-mail ne sera pas autorisé ou terminera dans les SPAMS.
  5. Dans le cas contraire, le serveur ajoute l’information de validation DKIM dans l’en-tête du mail et avec ce type de validation les chances de terminer dans les SPAMS sont infimes !
Comment fonctionne la validation DKIM ?

Cette validation permet de confirmer à l’e-mail non seulement que vous êtes autorisé à envoyer des e-mails, ce que fait SPF, mais qu’en plus les e-mails sont bien partis d’un serveur autorisé.

Cela évite la falsification, avec notamment des serveurs malveillants se faisant passer pour d’autres serveurs pour contourner les sécurités.

DMARC pour Domain-based Message Authentication, Reporting, and Conformance

Cette nouvelle validation est assez récente et elle fonctionne étroitement avec la validation SPF et DKIM : sans ces 2 validations, vous ne pouvez donc pas mettre en place DMARC sur votre serveur.

Le but de DMARC est d’indiquer aux serveurs de messagerie l’action à entreprendre si le mail en question, semblant provenir de votre organisation, ne passe pas les contrôles d’authentifications.

Il y a 3 options possibles :

  1. Toujours autoriser les e-mails
  2. Mettre les e-mails en quarantaine, ce qui a pour effet de les marquer comme SPAM
  3. Rejeter les e-mails

Cette validation est en fait, réellement, un moyen supplémentaire de contrôler les e-mails envoyés depuis votre serveur.

Comment fonctionne DMARC ?

En somme, cela permettra de définir vous-même la règle à appliquer pour les e-mails que ne respectent pas les authentifications définies au lieu de laisser le serveur de messagerie du destinataire s’en occuper.

Et l’autre gros avantage de DMARC, c’est qu’il génère des rapports détaillant cette activité. Vous pouvez demander à recevoir des rapports régulièrement de la part des serveurs recevant des mails de votre domaine.

Les rapports contiennent les infos sur la source d’envoi des mails pour votre domaine, quels qu’ils soient.

Avec les rapports DMARC, vos pouvez :

  • Connaître les sources envoyant des mails au nom de votre organisation
  • Identifier les sources non autorisées
  • Identifier les messages validés ou non

Comme ce monitoring peut-être un plus en cas de problème de réception des mails chez vos destinataires, cela peut-être une bonne idée de l’intégrer en cas de problème.

Et cette validation supplémentaire aura toujours un effet bénéfique sur la qualité de la réputation de votre domaine à l’envoi d’un e-mail.

2 commentaires

2 réflexions au sujet de “Le guide complet pour que les e-mails envoyés depuis votre site ne finissent pas dans les SPAMS”

  1. Excellent cet article !
    Plein de bonnes informations sur un sujet qui n’est pas toujours facile à appréhender par les néophytes.
    Me voila moins bête et je vais pouvoir tenir les échanges avec les administrateurs de serveurs de messagerie que je côtoie.
    Merci

    Répondre
    • Merci Jean-Michel d’avoir pris le temps de laisser un commentaire positif, c’était un gros article à tacler et ce type de retour fait vraiment chaud au cœur 🙂

      Répondre

Laisser un commentaire

Télécharger cette super ressource gratuite !

Entrez votre adresse e-mail ci-dessous et recevez cette ressource dans votre boîte de réception dans quelques secondes.