Le courrier électronique est l'une des applications les plus anciennes et fondamentales d'Internet, et le protocole SMTP (Simple Mail Transfer Protocol) est le moteur sous-jacent qui assure l'envoi des courriels. Comprendre le fonctionnement du protocole SMTP peut non seulement vous aider à résoudre les problèmes d'envoi de courriels, mais aussi à mieux comprendre des phénomènes courants tels que les messages d'erreur et le filtrage des spams.
Les trois protocoles de base d'un système de messagerie électronique
Avant d'aborder le protocole SMTP, comprenons les trois protocoles impliqués dans les systèmes de messagerie électronique, chacun ayant sa propre fonction :
| protocole | Nom et prénom | effet | analogie |
|---|---|---|---|
| SMTP | Protocole de transfert de courrier simple | Responsable de l'envoi et du transfert des courriels | camions de livraison de la poste |
| POP3 | Accord postal, version 3 | Téléchargez les e-mails du serveur sur votre ordinateur local. | Allez au bureau de poste chercher la lettre et emportez-la chez vous. |
| IMAP | Protocole d'accès au courrier électronique Internet | Gestion et lecture des courriels sur le serveur | Lecture des lettres sur place au bureau de poste |
En termes simples : le protocole SMTP gère l’envoi des courriels, tandis que les protocoles POP3 et IMAP gèrent leur réception. Cet article explique comment le protocole SMTP achemine les courriels de l’expéditeur au destinataire.
Le parcours complet d'un e-mail
Supposons qu'Alice (alice@gmail.com) envoie un courriel à Bob (bob@yahoo.com), ce courriel passera par les six étapes suivantes :
Phase 1 : Rédaction et soumission
Alice rédige un courriel dans le navigateur ou le client Gmail et clique sur « Envoyer ». Le courriel est alors transmis du navigateur (ou du client de messagerie) au serveur d'envoi de courriels de Gmail (généralement smtp.gmail.com, port 587) via le protocole SMTP .
Cette étape nécessite une vérification d'identité : Alice doit d'abord se connecter à son compte Gmail, et le serveur confirmera qu'elle est autorisée à envoyer des courriels à l'adresse alice@gmail.com.
Deuxième phase : Requête DNS
Lorsque le serveur d'envoi de Gmail reçoit un courriel, il doit savoir où l'envoyer. Il interroge le DNS (Domain Name System) du domaine du destinataire, yahoo.com, pour obtenir son enregistrement MX (Mail Exchange Record).
L'enregistrement MX renverra l'adresse du serveur de messagerie de Yahoo, par exemple :
yahoo.com MX priorité 1 mta5.am0.yahoodns.net Yahoo.com MX priorité 5 mta6.am0.yahoodns.net yahoo.com MX priorité 5 mta7.am0.yahoodns.net
Le serveur tentera d'abord d'utiliser l'enregistrement MX ayant la priorité la plus élevée (numéro le plus bas). Si ce serveur est indisponible, il tentera d'utiliser le suivant.
Phase 3 : Échange de clés SMTP
Les serveurs de Gmail établissent une connexion TCP (généralement via le port 25) avec les serveurs de messagerie de Yahoo, puis entament un « dialogue » standardisé. C’est le cœur du protocole SMTP : une série de commandes et de réponses.
Connexion établie Yahoo : 220 mta5.am0.yahoodns.net Prêt pour ESMTP Gmail : EHLO mail.gmail.com Yahoo : 250-mta5.am0.yahoodns.net Bonjour Yahoo : 250-STARTTLS Yahoo : 250 OK Passez à une connexion chiffrée Gmail : STARTTLS Yahoo : 220 Prêt à démarrer TLS Informez l'expéditeur et le destinataire Gmail : Courriel de : <alice@gmail.com> Yahoo : 250 OK Gmail : RCPT À : <bob@yahoo.com> Yahoo : 250 OK Transmettre le contenu du courriel Gmail : DONNÉES Yahoo : 354 Début de la saisie du courrier Gmail : De : Alice <alice@gmail.com> Gmail : À : Bob <bob@yahoo.com> Gmail : Objet : Bonjour Bob ! Gmail : Gmail : Salut Bob, comment vas-tu ? Gmail : . Yahoo : 250 OK, message en file d'attente Déconnecter Gmail : QUITTER Yahoo : 221 Au revoir
L'ensemble du processus de dialogue est clair et ordonné : d'abord une salutation (EHLO), puis le chiffrement (STARTTLS), puis les informations d'enveloppe (expéditeur et destinataire), et enfin le contenu du message (DATA).
Phase quatre : Traitement des destinataires
Une fois qu'un e-mail est reçu par le serveur de messagerie de Yahoo, celui-ci effectue une série de vérifications :
- Vérifiez si le destinataire, bob@yahoo.com, existe. S'il n'existe pas, renvoyez un message d'erreur (erreur permanente).
- Authentification : vérifiez les enregistrements SPF, DKIM et DMARC pour confirmer l’identité de l’expéditeur.
- Filtrage anti-spam : analyse le contenu des courriels pour déterminer s’il s’agit de spam.
- Analyse antivirus : vérifiez les pièces jointes pour détecter tout logiciel malveillant.
Une fois toutes les vérifications effectuées, le courriel a été livré dans la boîte aux lettres de Bob.
Phase 5 : Stockage des e-mails
Les courriels sont stockés sur les serveurs de messagerie de Yahoo, en attendant que Bob les lise. Ils seront placés dans la boîte de réception, le dossier spam ou d'autres dossiers selon les règles de filtrage.
Phase six : Lecture du destinataire
Bob ouvre sa messagerie Yahoo et récupère le contenu du courriel depuis le serveur via IMAP ou POP3 . S'il utilise la version web, il lit le courriel directement dans son navigateur via HTTP/HTTPS.
Explication détaillée des principales commandes SMTP
| Commande | signification | illustrer |
|---|---|---|
EHLO | saluer | Identifiez-vous auprès de l'autre serveur et renseignez-vous sur les extensions prises en charge. |
STARTTLS | Mettre à niveau le chiffrement | Mettez à niveau vos connexions en clair vers des connexions chiffrées TLS afin de protéger le contenu des courriels lors de leur transmission. |
MAIL FROM | expéditeur | L'adresse de l'expéditeur du courriel de déclaration (l'adresse de l'expéditeur figurant sur l'enveloppe). |
RCPT TO | destinataire | Veuillez indiquer les adresses des destinataires du courriel de déclaration (plusieurs adresses sont autorisées). |
DATA | Corps du courriel | Commencez à transmettre l'en-tête et le corps du courriel, en terminant par un point (.) sur une ligne distincte. |
QUIT | déconnexion | Fin de session, fermeture de la connexion |
Signification des codes de réponse SMTP
Chaque réponse d'un serveur SMTP commence par un nombre à trois chiffres, chaque nombre représentant un statut différent :
| Code de réponse | signification | Exemple |
|---|---|---|
| 2xx | succès | 250 OK — Commande exécutée avec succès |
| 3xx | Besoin de plus d'informations | 354 Début de la saisie du courrier électronique — En attente du contenu du courriel |
| 4xx | Erreur temporaire (restauration logicielle) | Service 421 temporairement indisponible / Courriel 450 occupé |
| 5xx | Erreur permanente (restauration définitive) | 550 Utilisateur inexistant / 553 Format d'adresse incorrect |
Ces codes de réponse sont extrêmement utiles pour résoudre les problèmes de distribution des e-mails. Lorsqu'une notification de retour est reçue, le code de réponse inclus peut vous aider à en identifier rapidement la cause.
numéro de port SMTP
Le protocole SMTP utilise différents ports pour assurer différentes fonctions :
- Port 25 : Port standard pour la transmission des courriels entre serveurs. De nombreux fournisseurs d’accès Internet bloquent ce port pour lutter contre le spam.
- Port 587 : Port recommandé pour les courriels envoyés par les utilisateurs, prenant en charge le chiffrement et l’authentification STARTTLS.
- Port 465 : Un port plus ancien utilisant le chiffrement SSL/TLS implicite ; certains services l’utilisent encore.
Si vous configurez un client de messagerie ou un service SMTP, il est recommandé d'utiliser la combinaison du port 587 et de STARTTLS .
Limitations et améliorations modernes du protocole SMTP
Le protocole SMTP a été développé en 1982 (RFC 821), à une époque où Internet ne connaissait aucune menace pour la sécurité. Par conséquent, le protocole SMTP d'origine présentait certaines lacunes intrinsèques :
- Non chiffré : les données SMTP d’origine ont été transmises en clair, puis résolues grâce à l’extension STARTTLS.
- Aucune authentification : n’importe qui peut se faire passer pour n’importe quel expéditeur, puis masquer cela avec SPF, DKIM ou DMARC.
- Absence de confirmation de livraison : l’expéditeur ne peut pas savoir avec certitude si le courriel est parvenu à la boîte de réception du destinataire.
Malgré ces limitations, le protocole SMTP demeure le protocole central du système de messagerie électronique mondial. Grâce à l'ajout continu d'extensions de sécurité, il conserve sa compatibilité ascendante tout en s'adaptant aux exigences de sécurité de l'Internet moderne.
Résumer
Le parcours d'un e-mail est bien plus complexe qu'il n'y paraît : du clic sur « Envoyer » à la réception dans la boîte de réception du destinataire, en passant par les requêtes DNS, les échanges SMTP, l'authentification et le filtrage anti-spam, chaque étape est régie par des protocoles et des règles stricts. Comprendre ces mécanismes sous-jacents vous permettra de mieux gérer votre compte de messagerie, de résoudre les problèmes d'envoi et d'optimiser la délivrabilité de vos e-mails.