Le protocole SMTP (Simple Mail Transfer Protocol) est un protocole de la couche 7 du modèle OSI.
SMTP est utilisé pour envoyer des messages électroniques d’un client local à l’adresse d’un destinataire. Il travaille côte à côte avec un logiciel appelé Agent de transfert de messages (MTA) pour transférer les messages électroniques vers leurs destinations correctes.
Dans ce tutoriel, je vous explique tout ce qu’il faut savoir sur le protocole SMTP.
Qu’est-ce que SMTP : définition
SMTP représente le protocole de transfert de courrier simple. SMTP est un ensemble de directives d’interaction qui permettent au logiciel de transmettre du courrier électronique sur Internet, appelé Simple Mail Transfer Protocol.
L’objectif principal du SMTP est de mettre en place des règles de communication entre les serveurs. Les serveurs ont un moyen de se reconnaître et d’annoncer le type de communication qu’ils essaient d’effectuer. Ils ont également un moyen de traiter les erreurs telles que les adresses électroniques incorrectes. Par exemple, si l’adresse du destinataire est erronée, le serveur répond en envoyant un message d’erreur quelconque.
SMTP : comment ça marche ?
Le SMTP est une livraison de bout en bout dans laquelle une machine cliente SMTP contacte directement le serveur SMTP de l’hôte de destination pour lui remettre ce courrier. Contrairement au principe du store and the forward qui fournit le contenu du courrier à l’hôte de destination en passant par plusieurs nœuds intermédiaires dans le même réseau, le SMTP poursuit l’envoi du contenu du courrier jusqu’à ce qu’il ait été copié avec succès sur son SMTP.
Le SMTP assure uniquement la livraison à l’hôte de la passerelle de messagerie, et non à l’hôte de destination réel, situé au-delà du réseau TCP/IP. Dans la passerelle de messagerie, la transmission SMTP de bout en bout est hébergée à la passerelle, de la passerelle à l’hôte ou de la passerelle à la passerelle. Le SMTP ne détermine pas le format du courrier au-delà de la passerelle.
Chaque message du SMTP contient les champs suivants :
- Un en-tête (header) ou une enveloppe une ligne nulle termine cela.
- Contenu (body) – Tout ce qui se trouve après la ligne nulle ou vide est le corps du message avec une séquence de lignes contenant des caractères ASCII.
Simple Mail Transfer Protocols représente un protocole client/serveur. Le dispositif SMTP client initie la session en envoyant un message SMTP, et le serveur de messagerie répond en recevant un message SMTP à la demande de session.
Quelles sont les commandes SMTP
Pour communiquer, le client SMTP envoie des commandes aux serveurs.
Voici les principales commandes SMTP utilisés.
S.No. |
Mot clé |
Syntaxe | Description |
Utilisation |
---|---|---|---|---|
1. | HELO | HELO<SP><domaine><CRLF> | Il fournit l’identification de l’expéditeur, c’est-à-dire le nom de l’hôte. | Obligatoire |
2. | MAIL<SP>FROM : <chemin d’accès inversé><CRLF> | Il précise l’expéditeur du courrier. | Obligatoire | |
3. | RCPT | RCPT<SP>TO : <chemin d’accès><CRLF> | Il précise le destinataire du courrier. | Obligatoire |
4. | DATA | DATA<CRLF> | Il indique le début du courrier. | Obligatoire |
5. | QUIT | QUIT<CRLF> | Il ferme la connexion TCP. | Obligatoire |
6. | RSET | RSET<CRLF> | Il interrompt la transaction de courrier en cours mais la connexion TCP reste ouverte. | Hautement recommandé |
7. | VRFY | VRFY<SP><Texte><CRLF> | Il est utilisé pour confirmer ou vérifier le nom de l’utilisateur. | Hautement recommandé |
8. | NOOP | NOOP<CRLF> | Aucune opération. | Hautement recommandé |
9. | TURN | TURN<CRLF> | Il inverse le rôle de l’émetteur et du récepteur. | Rarement utilisé |
10. | EXPN | EXPN<SP><Texte><CRLF> | Elle spécifie la liste de diffusion à développer. | Rarement utilisé |
11. | HELP | HELP<SP><Texte><CRLF> | Il envoie une documentation spécifique au système. | Rarement utilisé |
12. | SEND | SEND<SP>FROM : <chemin d’accès inversé><CRLF> | Il envoie le courrier au terminal. | Rarement utilisé |
13. | SOML | SOML<SP>FROM : <chemin d’accès inversé><CRLF> | Il envoie le courrier au terminal si possible, sinon à la boîte aux lettres. | Rarement utilisé |
14. | SAML | SAML<SP>FROM : <chemin d’accès inversé><CRLF> | Il envoie le courrier au terminal et à la boîte aux lettres. | Rarement utilisé |
De ce fait, il est possible d’envoyer un mail en telnet en passant les commandes SMTP.
Par exemple :
HELO <adresse IP>
MAIL FROM: <adresse email expéditeur>
RCPT TO: <adresse email destinataire>
DATA
Subject: <sujet du mail>
Date: Thr, Sep 2022 20:04:49 +0200
From: <adresse email expéditeur>
To: <adresse email destinataire>
Ceci est le contenu du mail
.
quit
Le mail est transmis par le serveur SMTP et on le reçoit bien dans la boites à lettres.
Quels sont les ports utilisés par SMTP ?
Voici les ports réseaux utilisés par SMTP :
Port | Protocole | |
25 | SMTP | |
465 | SMTPS / SSMTP | |
587 | SMTP over SmartTLS |
Le port 25
En 1982, l’Université de Californie du Sud a soumis une proposition à l’Internet Engineering Task Force (IETF).
La demande de commentaires (RFC) 821 a été publiée, établissant le port 25 comme canal de transmission par défaut pour le courrier électronique sur Internet.
40 ans plus tard, nous utilisons toujours le port 25 comme principal moyen de transmission du courrier électronique entre deux serveurs de messagerie. Quelques RFC ont rendu obsolète le RFC SMTP initial. Toutefois, la base des connexions SMTP reste identique ou similaire.
Port 465 – SMTPS (Soumission des messages via le protocole TLS)
Le port 465 a une histoire intéressante. Au début de 1997, la proposition d’une nouvelle norme pour soumettre les messages SMTP avec un chiffrement a été publiée. À cette fin, le port 465 a été enregistré auprès de l’IANA avec la description de service SMTPS. Toutefois, étant donné que ce port n’a été enregistré que par l’IANA et n’a pas été soumis à l’IETF sous la forme d’un RFC, il n’a jamais été pleinement approuvé en tant que port chiffré pour le SMTP.
Au cours de la même année, l’IETF a normalisé StartTLS sur le port 587 comme protocole de chiffrement pour la soumission des messages SMTP.
Dans un effort pour simplifier le processus de chiffrement des messages SMTP, le port 465 et SMTPS ont été retirés du registre IANA. Cela a entraîné une certaine confusion, car le port 465 et le protocole TLS implicite avaient gagné en popularité. Pour remédier à cette situation, l’IETF a publié un amendement unique visant à rétablir le port 465 pour la soumission de messages via le protocole TLS.
Aujourd’hui, le port 465 est toujours répertorié dans le registre de l’IANA comme le port de service pour la soumission de messages et le répertoire URL Rendez-vous pour SSM, URD en abrégé. Cependant, le fait que ces deux services soient répertoriés pour le port 465 ajoute à la confusion autour de ce port, car URD n’a rien à voir avec SMTP.
Port 587 – SmartTLS : Soumission de messages
Le port 587 a toujours été le port par défaut pour l’envoi de messages.
Il s’agit du port de soumission de courrier par défaut. Lorsque les utilisateurs soumettent un courriel pour qu’il soit acheminé par un serveur de messagerie approprié, c’est celui qui fournira les meilleurs résultats.
La confusion autour des ports 465 et 587 remonte à 1997, lorsqu’une norme pour le transit chiffré a été discutée. Finalement, c’est le protocole StartTLS qui a été choisi. Celui-ci permet à un utilisateur d’envoyer en clair, ou de mettre à niveau sa connexion vers TLS en utilisant le même port. Pour cette raison, il s’agit de l’approche préférée.
Port 2525 – Port non par défaut
Ce port n’est pas approuvé par l’IETF ni par l’IANA.
Mais ce dernier est souvent utilisé comme un port alternatif, qui reflète le port 587, dans le cas où les ports ci-dessus sont bloqués.
Parce que 2525 est un numéro de port élevé non traditionnel, il est généralement autorisé sur les FAI grand public et les fournisseurs d’hébergement en nuage, comme Google Compute Engine. Si vous avez essayé les ports ci-dessus, mais que vous rencontrez des problèmes de connectivité, essayez le port 2525. Ce port prend également en charge le chiffrement TLS.
SMTPS VS SmartTLS
Pour bien comprendre voici quelques explications autour du chiffrement :
TLS est appelé TLS implicite, ce qui signifie que la connexion initiale est lancée avec un certificat Secure Socket Layer (SSL) ou Transport Layer Security (TLS). Cela demande un peu plus de travail au client, mais c’est une approche valable puisque la connexion est chiffrée dès le départ.
StartTLS est la commande du protocole qui commence la conversation en texte clair et, si possible, passe à TLS. Il s’agit de la méthode préférée car un seul port peut gérer à la fois le texte en clair et TLS.
Quelle est la liste de serveurs SMTP publique ?
Liens
- Le protocole TCP/IP : définition, architecture et couches
- Protocole TCP, UDP, ICMP : fonctionnement et différences
- Protocole ARP : rôle et fonctionnement
- Le protocole HTTP (Hypertext Transfer Protocol) : versions et fonctionnement
- Protocole FTP pour partager ses fichiers : principe et fonctionnement
- Le chiffrement (cryptage) des données : comment ça marche et pourquoi l’utiliser
- Le protocole DHCP : fonctionnement et utilité
- DNS et serveurs de noms : Comment cela fonctionne ?
- Le protocole NTP et les serveurs de temps
- Les protocoles de sécurité WiFi : WEP, WPA, WPA2, et WPA3
- Connexion et protocole Ethernet : comment ça marche
- Le Protocole SMTP : définition, ports, commandes et fonctionnement
- Installer et configurer Postfix avec SPF + DKIM + DMARC
- Installer et configurer spamassassin avec postfix sur Debian
- Mail et Phishing : Pourquoi il faut se méfier de l’adresse de l’expéditeur
- Utiliser Courrier Windows 10, l’application pour consulter ses emails
- Configurer Gmail dans Outlook pour lire les mails Gmail dans Outlook
- Ajouter un compte Gmail pour lire plusieurs boîtes aux lettres
- Liste des adresses POP, IMAP, SMTP des FAI, Gmail, Outlook, …
- Configurer Gmail dans courrier de Windows 10
L’article Le Protocole SMTP : définition, ports, commandes et fonctionnement est apparu en premier sur malekal.com.
0 Commentaires