SMTP signifie “Simple Mail Transfer Protocol”, nous allons tout vous expliquer… En espérant que le “Simple” soit toujours d’actualité après avoir lu cet article !

SMTP est un protocole informatique, c’est à dire une convention permettant à deux systèmes informatiques de se comprendre. Ce protocole définit la façon dont le message doit être transporté. De la même manière et pour vous permettre de mieux comprendre, La Poste définit quelles informations doivent figurer sur une enveloppe afin qu’elle arrive à bon port.

En tant que standard internet, le protocole SMTP est décrit dans une RFC (Request for Comments), la version la plus récente est la RFC 5321. N’hésitez pas à parcourir ce document pour votre culture générale … mais attention, sa lecture ne sera pas très passionnante pour un internaute lambda, trop compliquée !

 

Un peu d’histoire

L’histoire de la messagerie électronique débute dans les années 60. À cette époque, il s’agit principalement d’une messagerie interne, développée autour d’un Mainframe (voir le lien pour une définition). Avec l’interconnexion progressive des différents systèmes informatiques et l’apparition du réseau ARPANET, plusieurs protocoles sont développés afin de permettre l’envoi d’emails entre ces réseaux.

Pendant plusieurs années, différents protocoles seront utilisés pour la messagerie électronique. Ce n’est qu’au début des années 80 que SMTP va commencer à s’imposer aux côtés d’UUCP (qui est toujours utilisé aujourd’hui pour les groupes de discussion de type Usenet).

SMTP, plus adapté aux réseaux connectés en permanence, prend progressivement le pas sur UUCP jusqu’à devenir la principale technologie utilisée pour le transport de messages électroniques.

Le principe de base du Relais SMTP

Comme précisé plus haut, SMTP a pour but de définir les règles qui régissent le transport des messages électroniques (l’enveloppe). Mais SMTP ne définit pas le contenu du message lui-même, cela fait l’objet d’une autre RFC, “Internet Message Format” sous la référence 5322.

SMTP - Qu’est-ce que c’est ? Les bases !

Lorsque vous envoyez un email via SMTP, il y a deux grandes phases successives.

1. La première consiste à savoir quelle est l’adresse IP (l’identifiant unique d’un ordinateur sur internet) du serveur à contacter.
Cela se fait par l’intermédiaire de DNS (Domain Name System, un annuaire faisant le lien entre un nom de domaine et une adresse IP). Par exemple, pour l’adresse email larry@google.com, l’enregistrement DNS de type MX (Mail eXchange) de Google.com renvera 173.194.64.26.

2. Une fois cette information retrouvée, vous pourrez vous connecter au serveur SMTP. Cette deuxième étape se fait elle-même en trois commandes successives (en fait, il y a d’autres commandes, mais pour simplifier, nous n’en parlerons pas) :

  • MAIL : Cette étape correspond à la définition des informations concernant l’expéditeur de l’email, principalement le champ “FROM:”.
  • RCPT : Les commandes RCPT permettent de définir les informations concernant le ou les destinataires. C’est le champ “TO:” qui est alors défini.
  • DATA : C’est la commande qui permet d’envoyer le contenu du message. Cette partie est définit dans la RFC 5322 (Internet Message Format). Lorsque l’on parle du contenu, cela veut dire non seulement l’objet de l’email et le corps du message, mais aussi toute une série d’informations, celles qui sont présentes dans l’en-tête de votre email.

Et les célèbres erreurs SMTP ?

Entre chaque commande (MAIL, RCPT, DATA), le serveur SMTP donne une réponse appelée codes retour SMTP. On peut distinguer 4 types de codes, les catégories commencent par un chiffre différent :

  • 2xx : Le commande a été exécutée avec succès.
  • 3xx : La commande est en train d’être exécutée.
  • 4xx : Impossible d’exécuter la commande pour le moment, il faut réessayer plus tard.
  • 5xx : La commande n’a pas pu être exécutée.

Le deux chiffres suivants (représentés ici par xx) donnent plus de précisions sur la nature exacte du code. De plus, un message texte accompagne aussi le code SMTP. Nous reviendrons, en détail, sur ces codes SMTP dans un autre article.

Testez la solution SMTP de Mailjet dès maintenant, 👉 gratuitement ici !