Envoyer un email paraît instantané : on rédige un message, on clique sur “Envoyer”, puis il arrive quelques secondes plus tard dans une boîte de réception. Derrière cette simplicité se cache pourtant un mécanisme précis, organisé autour du protocole SMTP, l’un des piliers historiques de la messagerie électronique.
SMTP : le protocole qui transporte les emails
SMTP signifie Simple Mail Transfer Protocol. Il s’agit du protocole utilisé pour transmettre un email depuis un logiciel de messagerie ou un service webmail vers un serveur d’envoi, puis d’un serveur mail à un autre. Sa mission principale est donc le transport du message, un peu comme un service postal numérique chargé d’acheminer le courrier jusqu’au bon centre de distribution.
Créé au début des années 1980, SMTP reste aujourd’hui au cœur de l’envoi d’emails, même si son fonctionnement a été renforcé par de nombreuses extensions de sécurité. Il ne sert pas à lire les messages : cette tâche revient plutôt à IMAP ou POP3, qui permettent de consulter, synchroniser ou télécharger les emails reçus.
Dans une architecture classique, SMTP intervient surtout au moment de l’expédition. Lorsqu’un utilisateur envoie un message depuis Outlook, Thunderbird, Apple Mail, Gmail ou une application métier, le client contacte un serveur SMTP. Celui-ci vérifie certains paramètres, accepte le message si tout est conforme, puis cherche le serveur destinataire capable de recevoir l’email.
Les acteurs impliqués dans l’envoi d’un email
Pour comprendre comment fonctionne SMTP, il faut distinguer les différents éléments qui participent à l’acheminement. Le premier est le client de messagerie, aussi appelé MUA pour Mail User Agent. C’est l’interface utilisée pour rédiger l’email, joindre des fichiers et définir les destinataires.
Le client transmet ensuite le message à un serveur d’envoi, souvent appelé MSA pour Mail Submission Agent. Ce serveur appartient généralement au fournisseur d’accès, à l’entreprise, à l’hébergeur mail ou à une plateforme spécialisée. Il reçoit le message, authentifie l’utilisateur et applique des règles techniques ou de sécurité.
Vient ensuite le MTA, ou Mail Transfer Agent. Son rôle est de relayer l’email entre serveurs jusqu’au domaine destinataire. Si le destinataire utilise une adresse en exemple@domaine.fr, le serveur SMTP doit identifier quel serveur accepte les messages pour domaine.fr. Cette recherche s’appuie notamment sur le DNS, indispensable pour localiser les serveurs de messagerie associés à un nom de domaine.
Le dernier maillon est le serveur de réception, parfois complété par un MDA, Mail Delivery Agent. Celui-ci dépose l’email dans la boîte du destinataire, où il pourra être consulté via IMAP, POP3 ou une interface webmail.
Le rôle du DNS dans la livraison des emails
SMTP ne connaît pas spontanément le serveur à contacter pour chaque domaine. Pour trouver la destination correcte, il interroge le système DNS, plus précisément les enregistrements MX, pour Mail Exchange. Ces enregistrements indiquent quels serveurs sont autorisés à recevoir les emails d’un domaine donné.
Par exemple, lorsqu’un email est envoyé à une adresse en @entreprise.fr, le serveur SMTP expéditeur demande au DNS quels serveurs gèrent la messagerie de ce domaine. Il obtient une ou plusieurs réponses, souvent accompagnées d’une priorité. Le serveur avec la priorité la plus élevée est tenté en premier, puis les autres servent de secours en cas d’indisponibilité.
Ce passage par le DNS explique pourquoi la configuration d’un domaine est essentielle pour la messagerie professionnelle. Un enregistrement MX absent, mal saisi ou pointant vers un mauvais serveur peut empêcher la réception des messages. Pour replacer cette étape dans le fonctionnement global d’Internet, le mécanisme de résolution des noms de domaine montre comment un nom lisible est converti en information exploitable par les machines.
Les grandes étapes d’une conversation SMTP
SMTP fonctionne comme un dialogue structuré entre deux machines. Le serveur qui envoie le message ouvre une connexion avec le serveur destinataire, puis les deux échangent des commandes et des réponses codifiées. Chaque étape permet de vérifier que la transmission peut continuer correctement.
- Le client ou serveur expéditeur ouvre une connexion SMTP, souvent sur le port 25, 587 ou 465 selon le contexte.
- Il se présente avec une commande comme HELO ou EHLO, qui annonce son identité au serveur distant.
- Il indique l’adresse de l’expéditeur avec MAIL FROM, puis celle du destinataire avec RCPT TO.
- Il transmet le contenu du message avec DATA, incluant les en-têtes, le corps du texte et les éventuelles pièces jointes encodées.
- Le serveur répond par des codes numériques pour accepter, refuser ou différer la livraison.
Ces codes sont importants car ils permettent de comprendre l’état de l’envoi. Un code commençant par 2 indique généralement un succès. Un code en 4 signale une erreur temporaire, comme un serveur indisponible. Un code en 5 correspond plutôt à un échec permanent, par exemple une adresse inexistante ou un refus de politique antispam.
Une fois le message accepté, le serveur expéditeur peut fermer la connexion. Si la livraison directe échoue temporairement, il place souvent l’email dans une file d’attente et réessaie plus tard. C’est pourquoi certains messages arrivent avec du retard sans être définitivement perdus.
Ports SMTP : 25, 587 et 465
Le protocole SMTP peut utiliser plusieurs ports, chacun associé à un usage précis. Le port 25 est historiquement utilisé pour les échanges entre serveurs de messagerie. Il reste central dans l’infrastructure mondiale de l’email, mais il est souvent bloqué pour les utilisateurs finaux afin de limiter l’envoi massif de spam depuis des connexions compromises.
Le port 587 est aujourd’hui recommandé pour la soumission d’emails par un utilisateur authentifié. Lorsqu’une personne configure son logiciel de messagerie, c’est généralement ce port qui est utilisé avec une connexion sécurisée via STARTTLS. Il permet au serveur de vérifier l’identité de l’expéditeur avant d’accepter le message.
Le port 465, longtemps considéré comme non standard puis réhabilité pour certains usages, est associé à SMTP sur TLS implicite. Cela signifie que le chiffrement démarre dès l’ouverture de la connexion. Dans les environnements modernes, le choix entre 587 et 465 dépend souvent du fournisseur mail et de sa configuration.
Sécurité : authentification, chiffrement et lutte contre le spam
SMTP a été conçu à une époque où Internet était plus restreint et plus confiant. À l’origine, il ne prévoyait pas de mécanismes robustes pour vérifier l’identité des expéditeurs. Cette faiblesse a favorisé l’usurpation d’adresse, le spam et le phishing. C’est pourquoi des couches de sécurité ont été ajoutées au fil du temps.
L’authentification SMTP oblige l’utilisateur à fournir un identifiant et un mot de passe, ou un jeton d’accès, avant d’envoyer un email. Le chiffrement avec TLS protège ensuite les données échangées contre l’interception sur le réseau. Sans chiffrement, le contenu du message et les informations de connexion pourraient circuler en clair.
D’autres mécanismes complètent SMTP sans le remplacer. SPF permet d’indiquer quels serveurs sont autorisés à envoyer des emails pour un domaine. DKIM ajoute une signature cryptographique au message afin de vérifier qu’il n’a pas été modifié. DMARC donne des consignes aux serveurs destinataires lorsque SPF ou DKIM échouent. Ensemble, ces standards améliorent la délivrabilité et réduisent les risques d’usurpation.
Comment SMTP trouve le bon chemin sur Internet
Une fois le serveur destinataire identifié, les données doivent circuler sur le réseau jusqu’à lui. SMTP s’appuie alors sur les couches plus basses d’Internet, notamment TCP/IP, pour établir une connexion fiable entre deux machines. Le protocole SMTP ne gère pas lui-même le routage des paquets : il confie cette tâche à l’infrastructure réseau.
Les adresses IP jouent ici un rôle central, car les serveurs de messagerie communiquent à partir d’adresses numériques. Selon les infrastructures, ces adresses peuvent être en IPv4 ou en IPv6. La distinction entre les deux versions du protocole IP aide à comprendre comment les serveurs sont identifiés et joignables sur Internet.
Cette séparation des rôles rend le système plus robuste. SMTP s’occupe du dialogue mail, DNS indique où envoyer le message, TCP garantit la transmission des données, et IP assure l’acheminement entre les réseaux. Chaque couche a une fonction précise, ce qui permet à l’ensemble de fonctionner à très grande échelle.
Pourquoi un email peut échouer malgré SMTP
Le fait qu’un message soit envoyé ne garantit pas qu’il sera accepté. Plusieurs raisons peuvent expliquer un échec. L’adresse du destinataire peut être erronée, le domaine peut ne pas exister, le serveur distant peut être temporairement inaccessible ou la boîte de réception peut être pleine.
Les filtres antispam jouent aussi un rôle important. Un serveur peut refuser un email si l’adresse IP de l’expéditeur a mauvaise réputation, si le domaine est mal configuré ou si le contenu ressemble à une tentative de fraude. Les pièces jointes suspectes, les liens trompeurs et l’absence d’authentification correcte peuvent également provoquer un rejet.
Dans ces situations, l’expéditeur reçoit parfois un message de retour appelé bounce. Celui-ci contient un code d’erreur et une explication plus ou moins lisible. Pour un administrateur, ces informations sont précieuses : elles permettent d’identifier un problème de configuration SMTP, de DNS, de réputation ou de sécurité.
Ce qu’il faut retenir sur le fonctionnement de SMTP
SMTP est le protocole qui permet d’envoyer et de transférer les emails entre serveurs. Il ne sert pas à consulter les messages, mais à les acheminer jusqu’au système de réception approprié. Son fonctionnement repose sur un dialogue codifié, des commandes simples, des réponses numériques et une coopération avec d’autres technologies comme DNS, TCP/IP et TLS.
Malgré son ancienneté, le protocole SMTP reste indispensable à la messagerie moderne. Il a évolué pour intégrer l’authentification, le chiffrement et des mécanismes de protection contre l’usurpation. Comprendre son rôle permet de mieux diagnostiquer les erreurs d’envoi, d’améliorer la délivrabilité et de saisir ce qui se passe réellement lorsqu’un email quitte une boîte d’envoi.