Faux serveur SMTP : envoyez et recevez vos emails en local

Faux serveur SMTP : envoyez et recevez vos emails en local

Protocole SMTP, de quoi parle t-on ?

Qu’est-ce qu’un protocole SMTP ?

Le protocole SMTP (Simple Mail Transfer Protocol) est un protocole standard de communication utilisé pour envoyer des courriels électroniques d’un serveur vers un autre. Globalement, il expédie le contenu d’un client mail* (Outlook, Gmail, Orange etc.) vers un autre client mail en vérifiant qu’il a bien toutes les informations pour le faire.

Comment le protocole SMTP s’est imposé sur le marché

Avant l’apparition du protocole SMTP en 1980, nous utilisions le protocole UUCP (né avant le Web !) basé sur la notion de client-serveur et de communication asynchrone intermittente.

Au début, SMTP était privilégié pour des machines connectées de façon permanente et utilisé en complément de UUCP. Mais petit à petit… BOOM ! Il prend complètement la place du protocole UUCP ! Si bien qu’aujourd’hui, c’est toujours lui qui est majoritairement utilisé pour envoyer un mail. 

Cependant, ce n’est pas le rôle du protocole SMTP de récupérer le contenu pour l’afficher vers le client mail, ça c’est le boulot des protocoles POP ou IMAP

Chemin d'un e-mail
Source : Netim

Concrètement, comment ça fonctionne ?

Le protocole SMTP fonctionne de la même façon que pour envoyer une lettre avec son enveloppe et son contenu. Il se fait en 2 étapes :

  1. Comme un postier qui veut adresser une lettre, il va d’abord regarder quelle est l’adresse de cette dernière. Ici la personne est le serveur qu’on va retrouver grâce à l’adresse IP fournie (le DNS). 
  2. Une fois qu’on a l’adresse, il faut aller à la boîte aux lettres. Pour nous, ici avec l’IP, il faudra vérifier plusieurs choses, à savoir principalement :
  • le HELO qui permet à l’envoyeur de l’email de s’identifier,
  • le MAIL FROM qui regroupe la logistique de l’email : l’adresse de l’envoyeur et des receveurs,
  • le DATA, le contenu de l’email.

Pour les techos et pour mieux comprendre l’intérêt d’un faux serveur SMTP je vous invite à lire l’article écrit par notre brillant Lead Dev Fabien.

Pourquoi utiliser un faux serveur SMTP ?

On a compris, SMTP est un protocole qui expédie les mails, mais pourquoi en utiliser un faux alors ? Tout simplement parce que lorsque vous voulez tester les éléments dynamiques de votre mail par exemple, vous n’avez pas envie de le faire sur votre liste de vrais clients, comme ça :

objet : “toto”
contenu : “hughrfdfd”.

L’année dernière en plein hiver, j’ai reçu cet email de la part de mon fournisseur d’électricité :

Exemple d'un test d'une campagne d'emailing qui a été envoyé par erreur

J’étais déjà en train de faire des plans sur la comète pour réfléchir à comment capter avec un miroir le seul rayon de soleil qui passe dans mon appartement et me chauffer avec.

Puis, le lendemain j’ai reçu ça :

Exemple d'un email Erratum, envoyé à la suite d'une erreur

Merci pour la syncope ! Planète Oui vous me devez au moins 1 an d’électricité gratuite pour cette erreur qui a failli m’achever et me faire disparaître comme UUCP. 

Et j’ai 100 autres exemples de petites erreurs sympas comme ça.

Voilà, ça arrive à tout le monde de faire des tests en production par erreur, même aux meilleurs.

Alors par pitié, arrêtez de provoquer des mini crises cardiaques à vos clients adorés. Testez vos mails, utilisez un mailcatcher… Utilisez Pacomail !

Sources :