Ticker

6/recent/ticker-posts

Ad Code

Responsive Advertisement

Le Protocole SMTP : définition, ports, commandes et fonctionnement

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.

Le Protocole SMTP : ports, commandes, fonctionnement et explications

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 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é
Les commandes SMTP

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
Envoyer un mail manuellement avec les commandes SMTP

Le mail est transmis par le serveur SMTP et on le reçoit bien dans la boites à lettres.

Envoyer un mail manuellement avec les commandes SMTP

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
Les ports utilisés par SMTP

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.

Liste des adresses POP, IMAP, SMTP des FAI, Gmail, Outlook, ...

Quelle est la liste de serveurs SMTP publique ?

L’article Le Protocole SMTP : définition, ports, commandes et fonctionnement est apparu en premier sur malekal.com.

Enregistrer un commentaire

0 Commentaires