Objectif
Si vous êtes ici c’est que vous vous demandais surement, comment fonctionne SMTP, IMAP et POP3? Vous êtes au bonne endroit car ce chapitre est une petite introduction sur les protocoles qui tournent autour de l’envoi de mails. Ici vous allez être familiarisés avec le protocole SMTP et les protocoles POP3 et IMAP. Finalement nous ferons le parcourt d’un mail au travers de ces protocoles et du réseau. Vous pouvez suivre ce cours en vidéo. Bonne découvert !!!
Sommaire
Comment fonctionne SMTP ?
- Connexion et Communication : Lorsque vous envoyez un e-mail, votre client de messagerie (comme Outlook, Thunderbird, ou une application mobile) établit une connexion avec le serveur SMTP configuré (généralement fourni par votre fournisseur de services Internet ou votre hébergeur d'e-mail). Cette connexion se fait via le port 25, 587, ou 465, selon la configuration et la sécurité du serveur SMTP.
- Phase de Salutation : Une fois la connexion établie, le client de messagerie envoie une salutation au serveur SMTP. Cette salutation comprend des commandes comme HELO (ou EHLO pour Extended SMTP) suivi du nom de domaine de l'expéditeur.
- Authentification : Si nécessaire, le serveur SMTP peut demander une authentification. Cela implique généralement l'envoi du nom d'utilisateur et du mot de passe de l'expéditeur, souvent sous une forme chiffrée, pour éviter les écoutes non autorisées.
- Envoi des Détails du Message : Le client de messagerie transmet ensuite les détails du message, y compris l'adresse e-mail de l'expéditeur (MAIL FROM), l'adresse ou les adresses e-mail des destinataires (RCPT TO), et d'autres informations d'en-tête.
- Transmission du Corps du Message : Après les en-têtes, le client de messagerie envoie le corps du message, généralement précédé par la commande DATA. Le corps peut inclure du texte, des liens hypertextes, et peut également référencer des pièces jointes.
- Fin de la Transmission : Une fois le message complet transmis, le client de messagerie indique la fin du message en envoyant une ligne contenant uniquement un point (.). Le serveur SMTP répond alors généralement avec un message indiquant si l'e-mail a été accepté pour la livraison.
- Routage du Message : Le serveur SMTP prend ensuite en charge le message. Si le destinataire est local (sur le même serveur), le message est placé dans sa boîte de réception. Si le destinataire est externe, le serveur SMTP utilise le DNS pour trouver le serveur SMTP approprié pour le domaine du destinataire et y transmet le message.
- Gestion des Erreurs : Si le serveur SMTP ne peut pas livrer le message (par exemple, si l'adresse du destinataire n'existe pas), il enverra généralement un message d'erreur à l'expéditeur.
Vous savez maintenant comment fonctionne SMTP. C’est un protocole robuste et flexible pour l’envoi d’e-mails, utilisé partout dans le monde pour la communication électronique. Il fonctionne de manière transparente en arrière-plan pour s’assurer que les e-mails atteignent leurs destinataires, gérant à la fois la transmission et les éventuelles erreurs de livraison.
Exemple utilisation du protocole SMTP avec la commande LINUX telnet
Le parties orange sont les parties que j’ai écrit sur linux et corresponde aux requêtes qui permettent au serveur SMTP de savoir ce qu’il doit faire. Les parties noires sont les réponses du serveur SMTP.
Informations importantes
- SMTP utilise TCP sur les ports : 25, 587 et 465
- Le port 25 est non sécurisé c'est à dire qu'une personne qui intercepte le message sera en capacité de le lire
- Les ports 587 et 465 sont sécurisés par TLS (Transport Layer Security) qui est le protocole standard de chiffrement sur internette. Ces ports seront utiles pour les chapitres suivants.
Comment fonctionne POP3 ?
Après avoir vu, comment fonctionne SMTP, voyons maintenant le protocole POP3 (Post Office Protocol version 3 ou en Français : Protocole du bureau de poste) est un protocole standard utilisé pour récupérer des e-mails à partir d’un serveur de messagerie. Il est conçu pour télécharger les messages électroniques d’un serveur sur le client de messagerie de l’utilisateur. Voici comment il fonctionne :
- Configuration: Lorsque vous configurez un client de messagerie (comme Microsoft Outlook, Mozilla Thunderbird, etc.) avec POP3, vous spécifiez les informations du serveur POP3, y compris l'adresse du serveur, le port (généralement 110 pour une connexion non sécurisée ou 995 pour une connexion sécurisée avec SSL/TLS), ainsi que votre nom d'utilisateur et mot de passe.
- Authentification : Lorsque le client de messagerie tente de se connecter au serveur POP3, il utilise votre nom d'utilisateur et mot de passe pour s'authentifier. Une fois authentifié, une session est établie entre le client et le serveur.
- Récupération des Messages : Le protocole POP3 permet de télécharger tous les e-mails présents dans la boîte de réception du serveur vers le client de messagerie local. Les messages sont transférés sur l'appareil de l'utilisateur et peuvent être lus même sans connexion Internet.
- Gestion des Messages : Après le téléchargement, le client de messagerie peut être configuré pour laisser une copie des messages sur le serveur ou pour les supprimer. Dans la plupart des cas, par défaut, une fois les e-mails téléchargés, ils sont supprimés du serveur.
- Déconnexion : Une fois la récupération des messages terminée, la session est terminée et le client de messagerie se déconnecte du serveur.
Le protocole POP3 est simple et efficace pour les utilisateurs qui accèdent à leur messagerie électronique depuis un seul appareil ou endroit. Cependant, il présente des limites par rapport à des protocoles plus modernes comme IMAP (Internet Message Access Protocol), notamment en matière de synchronisation des messages sur plusieurs appareils, puisque POP3 est essentiellement conçu pour télécharger des messages sur un seul appareil client.
Informations importantes
- POP3 utilise TCP sur les ports : 110 et 995
- Le port 110 est non sécurisé c'est à dire qu'une personne qui intercepte le message aura la capacité de le lire.
- Le port 995 est sécurisé par TLS(Transport Layer Security) qui est le protocole standard de chiffrement sur internette. Ces ports seront utiles pour les chapitres suivants.
Comment fonctionne IMAP ?
Après avoir vu comment fonctionne SMTP et POP3 voyons maintenant le protocole IMAP (Internet Message Access Protocol ou en Français: Protocole d’accès aux messages Internet) est un protocole standard utilisé pour accéder aux e-mails sur un serveur de messagerie. Contrairement à POP3, qui est principalement conçu pour télécharger des e-mails, IMAP offre une gestion plus complexe et interactive des messages directement sur le serveur. Voici les principaux aspects du fonctionnement de IMAP :
- Connexion et Synchronisation : Lorsque vous configurez un client de messagerie avec IMAP, vous spécifiez les détails du serveur IMAP, y compris l'adresse du serveur, le port (généralement 143 pour une connexion non sécurisée ou 993 pour une connexion sécurisée avec SSL/TLS), et vos informations d'authentification. Après connexion, IMAP synchronise les e-mails entre le client de messagerie et le serveur, permettant de voir tous vos messages ainsi que leur état (lu, non lu, supprimé, etc...).
- Gestion des Messages sur le Serveur : Avec IMAP, les messages restent stockés sur le serveur. Cela signifie que vous pouvez accéder à votre compte de messagerie depuis plusieurs dispositifs, et tous afficheront la même liste de messages. IMAP est donc idéal pour les personnes qui accèdent à leurs e-mails depuis plusieurs emplacements ou appareils.
- Opérations en Ligne et Hors Ligne : IMAP permet de réaliser des opérations en ligne (lorsque vous êtes connecté au serveur) et certaines opérations hors ligne. Par exemple, vous pouvez lire des e-mails précédemment téléchargés ou marquer des messages comme lus sans être connecté, et ces changements seront synchronisés avec le serveur une fois que vous serez en ligne.
- Dossiers et Organisation : IMAP supporte la création de dossiers et sous-dossiers sur le serveur pour organiser les e-mails. Ces dossiers sont synchronisés entre le serveur et tous les clients de messagerie utilisés pour accéder au compte.
- Recherche et Filtrage : Le protocole IMAP permet de faire des recherches et de filtrer les e-mails directement sur le serveur. Cela signifie que vous pouvez rechercher des e-mails par mot-clé, expéditeur, date, et d'autres critères sans avoir à télécharger tous les messages.
- Économie de Bande Passante : IMAP peut être configuré pour ne télécharger que les en-têtes des e-mails ou certaines parties des messages, ce qui peut économiser de la bande passante. Cela est particulièrement utile si vous avez une connexion Internet limitée ou lente.
En résumé, IMAP est un protocole flexible et puissant pour la gestion des e-mails, offrant une synchronisation en temps réel et une meilleure gestion des messages sur plusieurs appareils. Il est largement préféré dans les environnements où l’accès aux e-mails à partir de multiples dispositifs est nécessaire. C’est celui que nous choisirons d’exploiter !!
Informations importantes
- IMAP utilise TCP sur les ports : 143 et 993
- Le port 143 est non sécurisé c'est à dire qu'une personne qui intercepte le message sera en capacité de le lire
- Les ports 993 est sécurisés par TLS (Transport Layer Security) qui est le protocole standard de chiffrement sur internette. Ces ports seront utiles pour les chapitres suivants.
Schématisation d'un envoie de mail
Maintenant que l’on sait comment fonctionne SMTP et comment fonctionne POP et IMAP voyons maintenant le parcours d’un email, depuis la connexion d’un utilisateur jusqu’à la réception du mail dans la boîte de réception du destinataire, implique plusieurs étapes et technologies clés, notamment les serveurs SMTP pour l’envoi, le protocole IMAP pour la réception, et le système DNS pour la résolution des noms en adresse IP. Voici une explication détaillée de ce processus, en supposant l’utilisation d’un serveur SMTP Postfix et le protocole client IMAP :
- Connexion au client de messagerie : L'utilisateur ouvre son client de messagerie (Outlook, Thunderbird, application mail sur téléphone, etc.) et se connecte à son compte email, qui est configuré pour utiliser IMAP comme protocole de réception des emails et SMTP pour l'envoi.
- Rédaction de l'email : L'utilisateur compose un nouvel email, y ajoute un destinataire, un sujet, et le corps du message.
- Envoi de l'email : Lorsque l'utilisateur envoie l'email, le client de messagerie se connecte au serveur SMTP configuré (dans ce cas, un serveur Postfix).
- Connexion et authentification : Le client de messagerie s'authentifie auprès du serveur SMTP Postfix en utilisant les informations de connexion fournies par l'utilisateur lors de la configuration.
- Résolution DNS : Le serveur SMTP Postfix doit maintenant déterminer le serveur de messagerie du destinataire pour lui envoyer l'email. Pour cela, il utilise le DNS (Domain Name System) pour résoudre le nom de domaine du destinataire en une adresse IP. Le serveur SMTP fait une requête DNS pour trouver les enregistrements MX (Mail Exchange) du domaine du destinataire, qui indiquent le ou les serveurs de messagerie responsables de recevoir les emails pour ce domaine.
- Communication avec le serveur destinataire : Une fois que Postfix a l'adresse IP du serveur de messagerie destinataire grâce à la résolution DNS, il établit une connexion SMTP avec ce serveur et transfère l'email.
- Serveur de messagerie du destinataire : Le serveur de messagerie du destinataire reçoit l'email et le traite. Si le destinataire utilise IMAP pour accéder à ses emails, l'email est stocké sur le serveur jusqu'à ce qu'il soit consulté.
- Connexion IMAP : Le destinataire ouvre son client de messagerie, qui se connecte au serveur de messagerie via IMAP.
- Synchronisation et affichage : Le client de messagerie synchronise les emails avec le serveur, téléchargeant les nouveaux messages dans la boîte de réception du destinataire. L'email envoyé à l'origine par l'expéditeur apparaît maintenant dans la boîte de réception du destinataire, prêt à être lu.
Voilà mes chères élèves vous avez maintenant une bonne idée générale des éléments qui interviennent dans un échange de mail vous savez de quelle manière fonctionne SMTP et de quelle manière fonctionne POP3 et IMAP. Dans les prochains chapitres nous allons nous intéresser à l’installation de ces éléments et à comment on les configure. Mais nous irons plus loin en cherchant à sécuriser nos échanges de mail avec des enregistrements DNS particulier et l’ajout d’une couche de chiffrement. Alors rendez-vous au prochain épisode !!!!
Notes à retenir
- Nous savons maintenant que pour avoir un serveur de messagerie complet et utilisable par un humain il ne suffit pas d'installer un serveur SMTP. Cela peut suffire si votre objectif est d'utiliser ce serveur via un site internet et que l'objectif est plus d'envoyer que de recevoir des mails par exemple si votre objectif est d'envoyer des newsletter la réception d'email est secondaire voir superflus. Mais dans les autres cas vous devrez vous munir d'un protocole IMAP ou POP.
- Pour posséder votre propre serveur de messagerie vous aurez besoin d'un nom de domaine. En effet nous avons vue dans la simulation que c'est grâce au nom de domaine que nos serveurs peuvent se retrouver sur le web.
- Les ports qui nous seront utile pour SMTP : 25, 587 et 465
- Les ports qui nous seront utile pour POP: 110 et 995
- Les ports qui nous seront utile pour IMAP: 143 et 993
- IMAP permet une gestion plus fine de mail que POP et surtout permet la synchronisation entre plusieurs clients mails.